diff --git a/dev-libs/feedbackd-device-themes/Manifest b/dev-libs/feedbackd-device-themes/Manifest
new file mode 100644
index 0000000..5a133c8
--- /dev/null
+++ b/dev-libs/feedbackd-device-themes/Manifest
@@ -0,0 +1 @@
+DIST feedbackd-device-themes-0.0.20220523.tar.gz 15113 BLAKE2B 0c95a17f875b20d8bcc8eb05ed576f73dab7cc1b716133eba9b129a3e7a78f310c3f16d434712480058bf0281543f06404a1b04946fa7a9809163b3d7a099748 SHA512 ec669fd51dffb976ea5b04ba92e496e62d8e0d2ea82b16127e0c5d18daa536526e6506c0fab0d98f6ea1fb9231da38658809d56b3ce6c5e97c62d95443429336
diff --git a/dev-libs/feedbackd-device-themes/feedbackd-device-themes-0.0.20220523.ebuild b/dev-libs/feedbackd-device-themes/feedbackd-device-themes-0.0.20220523.ebuild
new file mode 100644
index 0000000..e8d1ca4
--- /dev/null
+++ b/dev-libs/feedbackd-device-themes/feedbackd-device-themes-0.0.20220523.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson
+
+MY_PV="v${PV}"
+MY_P="${PN}-${MY_PV}"
+DESCRIPTION="A daemon to provide haptic feedback on events (themes package)"
+HOMEPAGE="https://source.puri.sm/Librem5/feedbackd-device-themes"
+SRC_URI="https://source.puri.sm/Librem5/${PN}/-/archive/${MY_PV}/${MY_P}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="LGPL-3"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+SLOT="0"
diff --git a/dev-libs/feedbackd-device-themes/metadata.xml b/dev-libs/feedbackd-device-themes/metadata.xml
new file mode 100644
index 0000000..7ebbd03
--- /dev/null
+++ b/dev-libs/feedbackd-device-themes/metadata.xml
@@ -0,0 +1,8 @@
+
+
+
+
+ cyber+gentoo@sysrq.in
+ Anna
+
+
diff --git a/gnome-extra/gnome-calendar/Manifest b/gnome-extra/gnome-calendar/Manifest
deleted file mode 100644
index 1047f23..0000000
--- a/gnome-extra/gnome-calendar/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST gnome-calendar-43.0.tar.xz 422052 BLAKE2B 08f11b309087c80090f364fa569738a0348d609fa5c0a32b5c5ea4f32681bf53c54248fc7fc3b755f2d01f382b3a8c27511daef9f0bd59faaa148b1f6d253add SHA512 33c77b37e53132892665a44547974c44b7155e673bff27f438fcd30ee68b16b4bbabd9e6a287f3680b39e5032b19409278bc1c63ae46b1ea1191e32f81a55e32
diff --git a/gnome-extra/gnome-calendar/gnome-calendar-43.0.ebuild b/gnome-extra/gnome-calendar/gnome-calendar-43.0.ebuild
deleted file mode 100644
index 3832433..0000000
--- a/gnome-extra/gnome-calendar/gnome-calendar-43.0.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-inherit gnome.org gnome2-utils meson virtualx xdg
-
-DESCRIPTION="Manage your online calendars with simple and modern interface"
-HOMEPAGE="https://wiki.gnome.org/Apps/Calendar"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
-
-# >=libical-1.0.1 for https://bugzilla.gnome.org/show_bug.cgi?id=751244
-# =dev-libs/libical-1.0.1:0=
- >=gnome-base/gsettings-desktop-schemas-3.21.2
- >=gnome-extra/evolution-data-server-3.33.2:=[gtk]
- net-libs/libsoup:2.4
- >=gui-libs/libadwaita-1.0.0:1=
- >=dev-libs/glib-2.67.5:2
- >=gui-libs/gtk-4.6.0:4
- >=dev-libs/libgweather-4.0.0:4=
- >=dev-libs/libgweather-4.2.0:4=
- >=app-misc/geoclue-2.4:2.0
- >=sci-geosciences/geocode-glib-3.23:0
-"
-RDEPEND="${DEPEND}"
-BDEPEND="
- dev-libs/appstream-glib
- dev-libs/libxml2:2
- dev-util/gdbus-codegen
- dev-util/glib-utils
- >=sys-devel/gettext-0.19.8
- virtual/pkgconfig
-"
-
-src_test() {
- virtx meson_src_test
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
- gnome2_schemas_update
-}
-
-pkg_postrm() {
- xdg_pkg_postrm
- gnome2_schemas_update
-}
diff --git a/gnome-extra/vvmplayer/Manifest b/gnome-extra/vvmplayer/Manifest
index 0856afc..397d543 100755
--- a/gnome-extra/vvmplayer/Manifest
+++ b/gnome-extra/vvmplayer/Manifest
@@ -1 +1 @@
-DIST vvmplayer-1.5.tar.gz 303227 BLAKE2B fb59369bb252929b6862f841c89492f5180e0cb7b5d93cbe102846f7f04498b4721a5e8d4e57444194a46ae8cc7f33ac8052127dde96390da232dfdfab294b24 SHA512 6290f06f6a7b6d56eaf86a13595643734888fe03396da16cd0148196ed095cb56807d3b0abd20129c4a9b4b40761ff7fab243916f9e355d21e490277467a2d6e
+DIST vvmplayer-2.0.0.tar.gz 141817 BLAKE2B f7f51d6003745e5eabecca29bcbc61925764d2d017340feba0a33b83aedae4c93eeaf0fd2c860fe268c977e8da42d4840d12af6b0bb5c3f628a868819dcf98a4 SHA512 fa09f8096ff86565362dfa81233369bf8f65894c92a5285f53713abaf534edc4a3c866a6d2658babd421a6131045acaa79867dcc5a73a7aab29ed5bd872317ff
diff --git a/gnome-extra/vvmplayer/vvmplayer-1.5.ebuild b/gnome-extra/vvmplayer/vvmplayer-2.0.0.ebuild
similarity index 93%
rename from gnome-extra/vvmplayer/vvmplayer-1.5.ebuild
rename to gnome-extra/vvmplayer/vvmplayer-2.0.0.ebuild
index 72e9924..ef7a8a9 100755
--- a/gnome-extra/vvmplayer/vvmplayer-1.5.ebuild
+++ b/gnome-extra/vvmplayer/vvmplayer-2.0.0.ebuild
@@ -15,8 +15,8 @@ KEYWORDS="~amd64 ~arm64"
RDEPEND="
>=dev-libs/glib-2.50
- >=x11-libs/gtk+-3.22.0
- >=gui-libs/libhandy-1.0
+ >=gui-libs/gtk-4.8.2
+ >=gui-libs/libadwaita-1.2.0
>=media-libs/gstreamer-1.16.0
gnome-extra/evolution-data-server
media-sound/callaudiod
diff --git a/gui-libs/vte-common/Manifest b/gui-libs/vte-common/Manifest
deleted file mode 100644
index acb0909..0000000
--- a/gui-libs/vte-common/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST vte-0.70.0.tar.bz2 499283 BLAKE2B 694cf4dfee334e9b54bb8e47f862167acbb8ffc7ac8e81889acd4786449cb45944a87a5adaa036f46458c350ca2119bb356e90dfa71f03638c9c2b14d2ccb877 SHA512 362b71296ae39a16b55402f524a39b063f66ae237e6e161ccc89ca2bb1f2a5c43f4d706d9f3bfae12a99fdb81c4e70408c7f3eca2c01316950b0a3a1a1d79423
-DIST vte-0.70.1.tar.bz2 502044 BLAKE2B 0a9ce43c1863e823fcd073fd30fb6b2cb39e9168e850796fe12be2b9bdfc0b24ceea974b4c94bcdd10f2225613990e0e079194380241b7e625cb6dc4309a7476 SHA512 88de629b382eca8a42199b2ba9b248e231817e1de7183417aed150bcf61530084f7177d73dee9aab25fe4c3ab80d795b5fdcae336687560d3b582bd04181353d
diff --git a/gui-libs/vte-common/files/vte-common-0.70.0-musl-W_EXITCODE.patch b/gui-libs/vte-common/files/vte-common-0.70.0-musl-W_EXITCODE.patch
deleted file mode 100644
index b629613..0000000
--- a/gui-libs/vte-common/files/vte-common-0.70.0-musl-W_EXITCODE.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-https://gitlab.gnome.org/GNOME/vte/-/issues/72
-https://bugs.gentoo.org/835489
-https://bugs.gentoo/org/554416
-
-From 1c1de9e9119cf1e0ef45a594ca9bbf306d2209cb Mon Sep 17 00:00:00 2001
-From:
-Date: Fri, 12 Mar 2021 08:41:13 -0600
-Subject: [PATCH] Expanded non-standard W_EXITCODE macro for Musl compatibility
-
---- a/src/widget.cc
-+++ b/src/widget.cc
-@@ -20,8 +20,6 @@
-
- #include "widget.hh"
-
--#include // for W_EXITCODE
--
- #include
- #include
- #include
-@@ -235,7 +233,7 @@ void
- Widget::dispose() noexcept
- {
- if (m_terminal->terminate_child()) {
-- int status = W_EXITCODE(0, SIGKILL);
-+ int status = (0) << 8 | (SIGKILL); // W_EXITCODE(ret, sig)
- emit_child_exited(status);
- }
- }
diff --git a/gui-libs/vte-common/vte-common-0.70.1.ebuild b/gui-libs/vte-common/vte-common-0.70.1.ebuild
deleted file mode 100644
index cace446..0000000
--- a/gui-libs/vte-common/vte-common-0.70.1.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit gnome.org meson python-any-r1
-
-DESCRIPTION="Library providing a virtual terminal emulator widget"
-HOMEPAGE="https://wiki.gnome.org/Apps/Terminal/VTE https://gitlab.gnome.org/GNOME/vte"
-
-# Once SIXEL support ships (0.66 or later), might need xterm license (but code might be considered upgraded to LGPL-3+)
-LICENSE="LGPL-3+ GPL-3+"
-SLOT="2.91" # vte_api_version in meson.build
-IUSE="systemd"
-KEYWORDS="~amd64 ~arm64"
-
-# Upstream is hostile and refuses to upload tarballs.
-SRC_URI="https://gitlab.gnome.org/GNOME/vte/-/archive/${PV}/vte-${PV}.tar.bz2"
-
-DEPEND="
- || ( >=gui-libs/gtk-4.0.1:4 >=x11-libs/gtk+-3.24.22:3 )
- >=dev-libs/fribidi-1.0.0
- >=dev-libs/glib-2.52:2
- >=x11-libs/pango-1.22.0
- >=dev-libs/libpcre2-10.21
- systemd? ( >=sys-apps/systemd-220:= )
- sys-libs/zlib
- x11-libs/pango
-"
-RDEPEND="
- !=sys-devel/gettext-0.19.8
- virtual/pkgconfig
-"
-
-S="${WORKDIR}/vte-0.70.1"
-
-src_prepare() {
- default
- use elibc_musl && eapply "${FILESDIR}"/${PN}-0.70.0-musl-W_EXITCODE.patch
-}
-
-src_configure() {
- local emesonargs=(
- -Da11y=false
- -Ddebugg=false
- -Ddocs=false
- -Dgir=false
- -Dfribidi=true # pulled in by pango anyhow
- -Dglade=false
- -Dgnutls=false
- -Dgtk3=false
- -Dgtk4=false
- -Dicu=false
- $(meson_use systemd _systemd)
- -Dvapi=false
- )
- meson_src_configure
-}
-
-src_install() {
- exeinto /usr/libexec/
- doexe "${BUILD_DIR}"/src/vte-urlencode-cwd
- insinto /etc/profile.d/
- newins "${BUILD_DIR}"/src/vte.sh vte-${SLOT}.sh
- newins "${BUILD_DIR}"/src/vte.csh vte-${SLOT}.csh
- if use systemd; then
- insinto /usr/lib/systemd/user/vte-spawn-.scode.d/
- newins "${S}"/src/vte-spawn-.scope.conf defaults.conf
- fi
- einstalldocs
-}
diff --git a/gui-wm/gnome-mobile-meta/gnome-mobile-meta-1.0.ebuild b/gui-wm/gnome-mobile-meta/gnome-mobile-meta-1.0.ebuild
deleted file mode 100755
index 56099ea..0000000
--- a/gui-wm/gnome-mobile-meta/gnome-mobile-meta-1.0.ebuild
+++ /dev/null
@@ -1,162 +0,0 @@
-# Copyright 2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Meta package for Gnome Mobile"
-SRC_URI=""
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~arm64 ~arm"
-IUSE="cawbird chromium firefox geary lollypop owncloud nextcloud voicemail accessibility +bluetooth +classic cups python"
-DEPEND="
- >=dev-libs/glib-2.70.2:2
- >=x11-libs/gdk-pixbuf-2.42.6:2
- >=x11-libs/pango-1.48.10
- >=x11-libs/gtk+-3.24.31:3[cups?]
- >=dev-libs/atk-2.36.0
- >=gnome-base/librsvg-2.52.5
- >=gnome-base/gnome-desktop-43:3
-
- >=gnome-base/gvfs-1.48.1
- >=gnome-base/dconf-0.40.0
-
- >=media-libs/gstreamer-1.16.2:1.0
- >=media-libs/gst-plugins-base-1.16.2:1.0
- >=media-libs/gst-plugins-good-1.16.2:1.0
-
- python? ( >=dev-python/pygobject-3.42.0:3 )
-
- >=gnome-base/gdm-43.0
-
- >=x11-wm/mutter-43[mobile]
- >=gnome-base/gnome-shell-43[mobile]
- >=media-fonts/cantarell-0.301
-
- >=x11-themes/gnome-backgrounds-40.0
- x11-themes/sound-theme-freedesktop
-
- accessibility? (
- >=app-accessibility/at-spi2-atk-2.38.0
- >=app-accessibility/at-spi2-core-2.40.0
- >=app-accessibility/orca-40.0
- >=gnome-extra/mousetweaks-3.32.0
- )
-
- >=gnome-base/gnome-session-40.1.1
- >=gnome-base/gnome-settings-daemon-41.0[cups?]
- >=gnome-base/gnome-control-center-41.2[cups?]
- >=gnome-extra/gnome-color-manager-3.36.0
-
- >=app-crypt/gcr-3.40.0
- >=gnome-base/nautilus-41.1
- >=gnome-base/gnome-keyring-40.0
- >=gnome-extra/evolution-data-server-3.42.3
-
- >=app-crypt/seahorse-41.0
- >=app-editors/gedit-41
- >=app-text/evince-41.3
- >=gnome-extra/gnome-contacts-41.0
- >=media-gfx/eog-41.1
- >=media-video/totem-3.38.2
- >=x11-terms/gnome-terminal-3.42.2
-
- >=gnome-extra/gnome-user-docs-41.1
- >=gnome-extra/yelp-41.2
-
- >=x11-themes/adwaita-icon-theme-41.0
-
- bluetooth? ( >=net-wireless/gnome-bluetooth-3.34.5 )
-
- classic? ( >=gnome-extra/gnome-shell-extensions-43.0 )
-
- gnome-extra/phosh-antispam
- net-voip/gnome-calls
- net-im/chatty
- net-dns/dnsmasq
- app-editors/gedit
- app-misc/gnote
- media-video/megapixels
- gnome-base/gnome-control-center
- gnome-base/gnome-keyring
- gnome-extra/gnome-contacts
- gnome-extra/gnome-calculator
- gnome-extra/gnome-calendar
- gnome-extra/gnome-clocks
- gnome-extra/gnome-weather
- gnome-extra/portfolio
- gnome-base/gnome-session
- gnome-extra/gnome-system-monitor
- media-gfx/gnome-screenshot
- sys-process/gnome-usage
- gnome-extra/gnome-tweaks
- app-arch/file-roller
- sys-apps/gnome-disk-utility
- media-sound/gnome-sound-recorder
- www-client/epiphany
- sci-geosciences/gnome-maps
- x11-terms/gnome-terminal
- x11-themes/sound-theme-librem5
- app-text/evince
- sys-power/gtherm
- sys-auth/rtkit
- gnome-extra/sushi
- media-gfx/eog
-
- cawbird? (
- net-im/cawbird
- )
-
-
- chromium? (
- www-client/chromium
- )
-
- firefox? (
- www-client/firefox
- )
-
-
- geary? (
- mail-client/geary
- )
-
- lollypop? (
- media-sound/lollypop
- )
-
- owncloud? (
- net-misc/owncloud-client
- )
-
- nextcloud? (
- net-misc/nextcloud-client
- )
-
- voicemail? (
- gnome-extra/vvmplayer
- )
-"
-
-RDEPEND="${DEPEND}"
-BDEPEND=""
-PDEPEND=">=gnome-base/gvfs-1.48.0[udisks]"
-
-S="${WORKDIR}"
-
-pkg_postinst() {
- [ -e /usr/share/applications-bak ] || mkdir /usr/share/applications-bak
- for i in vim org.gnupg.pinentry-qt org.gnome.Extensions mupdf \
- gnome-printers-panel gnome-wifi-pannel pidgin wpa_gui cups \
- Gentoo-system-config-printer
- do
- if [ -e /usr/share/applications/$i.desktop ]; then
- mv /usr/share/applications/$i.desktop /usr/share/applications-bak
- fi
- done
-
- # Remind people where to find our project information
- elog "Please remember to look at https://wiki.gentoo.org/wiki/Project:GNOME"
- elog "for information about the project and documentation."
-}
diff --git a/media-libs/libshumate/Manifest b/media-libs/libshumate/Manifest
deleted file mode 100644
index 863dd70..0000000
--- a/media-libs/libshumate/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libshumate-1.0.2.tar.xz 110656 BLAKE2B 75abbfd9b4e1e7eb1044a33ff1b46391024005487f01aa4401552727322f92f28120104af4c2f90bb91c70ada6282882b9ee7f50ac62542aab8c88cc227799f8 SHA512 15539ce50462b345e4329fc27f52a5d1fb143e82821a990ce818a576fec94d1fe1fbef9926d0251d169f22394f3f21c62e56fe4d97bbdd4482429c70f22c6b2d
diff --git a/media-libs/libshumate/libshumate-1.0.2.ebuild b/media-libs/libshumate/libshumate-1.0.2.ebuild
deleted file mode 100644
index 81671c1..0000000
--- a/media-libs/libshumate/libshumate-1.0.2.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit gnome.org meson vala virtualx
-
-DESCRIPTION="Shumate is a GTK toolkit providing widgets for embedded maps"
-HOMEPAGE="https://wiki.gnome.org/Projects/libshumate https://gitlab.gnome.org/GNOME/libshumate"
-
-SLOT="1.0/1"
-LICENSE="LGPL-2.1+"
-KEYWORDS="~amd64 ~arm64"
-REQUIRED_USE="gtk-doc? ( introspection )"
-
-IUSE="gtk-doc +introspection vala" # vector-renderer is still experimental, maybe put in at a later release
-
-RDEPEND="
- >=dev-libs/glib-2.68.0:2
- >=x11-libs/cairo-1.4
- >=dev-db/sqlite-1.12:3
- >=gui-libs/gtk-4:4
- >=net-libs/libsoup-3.0:3.0
- introspection? ( >=dev-libs/gobject-introspection-0.6.3:= )
-"
-# vector-renderer? (
-# >=dev-libs/json-glib-1.6.0[introspection?]
-# dev-libs/protobuf-c
-# )
-
-DEPEND="${RDEPEND}"
-BDEPEND="
- gtk-doc? ( >=dev-util/gi-docgen-2021.1 )
- vala? ( $(vala_depend) )
-"
-
-src_configure() {
- local emesonargs=(
- $(meson_use introspection gir)
- $(meson_use vala vapi)
- $(meson_use gtk-doc gtk_doc)
- -Ddemos=false # only built, not installed
- # $(meson_use vector-renderer vector_renderer)
- -Dvector_renderer=false
- -Dlibsoup3=true
- )
- meson_src_configure
-}
-
-src_test() {
- virtx meson_src_test
-}
-
-src_install() {
- meson_src_install
- if use gtk-doc; then
- mkdir -p "${ED}"/usr/share/gtk-doc/ || die
- mv "${ED}"/usr/share/doc/libshumate-1.0 "${ED}"/usr/share/gtk-doc/libshumate-1.0 || die
- fi
-}
diff --git a/media-plugins/gst-plugins-hls/Manifest b/media-plugins/gst-plugins-hls/Manifest
index fdff776..07277e1 100644
--- a/media-plugins/gst-plugins-hls/Manifest
+++ b/media-plugins/gst-plugins-hls/Manifest
@@ -1,2 +1,2 @@
-DIST gst-plugins-bad-1.20.2.tar.xz 6216208 BLAKE2B bbbe77a1255991a2f96696996fb0c99f14f6d63fef455feb1ce90ae518bb9f80fd61bcfb223c20407b8d6240faaa93478495f8e9fda16fab36a311d167e88e25 SHA512 3f98973dc07ead745418e0a30f9f6b5c8d328e3d126f54d92c10ab5da04271768a5c5dffc36ea24ccf8fb516b1e3733be9fb18dc0db419dea4d37d17018f8a70
DIST gst-plugins-bad-1.20.3.tar.xz 6222824 BLAKE2B 01aae59adbe76b8e50a49fb8bb8037e6f3aa93cbc2b658aab05ebbf30f8d1aef98c1981712caa39e3c9d08f1e0c9d76f2f874f7d2fdd994b3a0735b2809eafdf SHA512 cfcf126eabff550455decd7054a269b73489708c10a6b6090dddb5fde29bfba07ed330c339927ff170e025fa3a08d2ffb822322dc3798679366207a54132c71b
+DIST gst-plugins-bad-1.20.4.tar.xz 6229992 BLAKE2B 2cd276cec9991e2ca7367a43024d7aee43adaa185a4a06ec08d1e736e72333f7f38cb54257120b9a313feb1fdc285a50d456b4c1fb33627d83acfcd3ece20687 SHA512 31b28d4a1bbecf021a90f2aa49dd344ccea12533b65f3bf3a8426ca2175469fff7b7f8e08af7d3d22c18db2fe48b9d5fbea2b325d296aee04b019cebef1eaec4
diff --git a/media-plugins/gst-plugins-hls/gst-plugins-hls-1.20.2.ebuild b/media-plugins/gst-plugins-hls/gst-plugins-hls-1.20.4.ebuild
similarity index 100%
rename from media-plugins/gst-plugins-hls/gst-plugins-hls-1.20.2.ebuild
rename to media-plugins/gst-plugins-hls/gst-plugins-hls-1.20.4.ebuild
diff --git a/media-sound/callaudiod/Manifest b/media-sound/callaudiod/Manifest
index 083645a..c78d244 100755
--- a/media-sound/callaudiod/Manifest
+++ b/media-sound/callaudiod/Manifest
@@ -1 +1,2 @@
-DIST callaudiod-0.1.4.tar.gz 31476 BLAKE2B 0573d89e5b7652c1cbffa8f10fac7b8d75d63088496f76ace25ba2001eb0a6b2d642d6a67aecd2124e7e0feba7fe1c4b856fd8de9ac7e636b6b9c07c954c8811 SHA512 5d344f5d0f04076b2d22a6fe4c728fb18081934e9651e91fe32d590983ca06b06341434489bc1d28322f09218373a3e8c983ff57fddc3d41a3d48bd4b35d1bce
+DIST callaudiod-0.1.5.tar.bz2 28355 BLAKE2B da43d51cf1a2818bad227e5bf453a27c6c8431bf9332758be378c2f1072354ad0438cdae77088e8a4587e132f116f64cbb7ac293ad985ab82b436e455547624b SHA512 8eac3929bbb9b700dab3ca230f3cb0dd17b90af1e0e56b4d92070423c11b1ca806984640bbc88ea42ae2ae1d2c19000b7f0d27a863d67eb11b021e53784bd39a
+DIST callaudiod-0.1.6.tar.bz2 28456 BLAKE2B 2307b2ed5a696b57afe9251e38a6396e152f5c377e7403510e079de8b373d5bdf829b9e83bd6b12a69e04994aeb726b74565d101a9377351d7a3f0cf5e222f70 SHA512 e8f5988614045bdec5daca4421a26e2ae228f78fb9a95e91d29d212068fa3a7b87a54f14eb3e4db58c230a7470731af3da5d535a26f88e44181bfdc1e5091982
diff --git a/media-sound/callaudiod/callaudiod-0.1.4.ebuild b/media-sound/callaudiod/callaudiod-0.1.4.ebuild
deleted file mode 100755
index c7996c7..0000000
--- a/media-sound/callaudiod/callaudiod-0.1.4.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit meson
-
-COMMIT="a7ca6ce9d4c947f19c3f99ff2cab986c64434e57"
-
-DESCRIPTION="Call audio routing daemon"
-HOMEPAGE="https://gitlab.com/mobian1/callaudiod"
-SRC_URI="https://gitlab.com/mobian1/callaudiod/-/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
-
-KEYWORDS="~amd64 ~arm64"
-
-LICENSE="GPL-3"
-SLOT="0"
-
-S="${WORKDIR}/${PN}-${COMMIT}"
-
-RDEPEND="
- dev-libs/glib
- dev-util/gdbus-codegen
- media-libs/alsa-lib
- || (
- media-sound/pulseaudio
- >=media-sound/apulse-0.1.12-r4[sdk]
- )
-"
-
-BUILD_DIR="${S}"/build
diff --git a/media-sound/callaudiod/callaudiod-0.1.5.ebuild b/media-sound/callaudiod/callaudiod-0.1.5.ebuild
new file mode 100644
index 0000000..9d5a20d
--- /dev/null
+++ b/media-sound/callaudiod/callaudiod-0.1.5.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson
+
+DESCRIPTION="Call audio routing daemon"
+HOMEPAGE="https://gitlab.com/mobian1/callaudiod"
+SRC_URI="https://gitlab.com/mobian1/${PN}/-/archive/${PV}/${P}.tar.bz2"
+
+KEYWORDS="~amd64 ~arm64"
+LICENSE="LGPL-3+"
+SLOT="0"
+
+RDEPEND="
+ dev-libs/glib:2
+ media-libs/alsa-lib
+ media-libs/libpulse[glib]
+"
+DEPEND="${RDEPEND}"
+BDEPEND="dev-util/gdbus-codegen"
diff --git a/media-sound/callaudiod/callaudiod-0.1.6.ebuild b/media-sound/callaudiod/callaudiod-0.1.6.ebuild
new file mode 100644
index 0000000..9d5a20d
--- /dev/null
+++ b/media-sound/callaudiod/callaudiod-0.1.6.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson
+
+DESCRIPTION="Call audio routing daemon"
+HOMEPAGE="https://gitlab.com/mobian1/callaudiod"
+SRC_URI="https://gitlab.com/mobian1/${PN}/-/archive/${PV}/${P}.tar.bz2"
+
+KEYWORDS="~amd64 ~arm64"
+LICENSE="LGPL-3+"
+SLOT="0"
+
+RDEPEND="
+ dev-libs/glib:2
+ media-libs/alsa-lib
+ media-libs/libpulse[glib]
+"
+DEPEND="${RDEPEND}"
+BDEPEND="dev-util/gdbus-codegen"
diff --git a/media-video/megapixels/Manifest b/media-video/megapixels/Manifest
index 1924e8f..e5b81e4 100644
--- a/media-video/megapixels/Manifest
+++ b/media-video/megapixels/Manifest
@@ -1 +1 @@
-DIST megapixels-1.5.2.tar.gz 93905 BLAKE2B 08071c83c1d07dab9da15526bec06db5460e5e24afe1599b6fd8657259d4cd2715db0cde4f97b244018e09818fb699e147935279c55f69a6145e2cfd21109264 SHA512 a0dcec454e49043e87513ed42228aded7b4a0761b03f844885871d8052e67fb269732d44730ff70a93f7b5d3fa6e1406e246460d9969ea5b2dd3a02ed9b4ef10
+DIST megapixels-1.6.0.tar.gz 95992 BLAKE2B adca9fcad9e6d7b4181a0aac8aa8c1a7b00978ce22d79a589e161fb8736e850d5e431263885a56a4407f5ee58f6cdb915aa6bbfb8c5fc13ee13567d3bbea2bbd SHA512 6711383c91c4d02363f8dc8580940436bb37637b56d8bb905d597df2ed98ed15be32b7d63666bb33b290ddfdda891dbc277c15a2e71aad9f2daa0c2d705b293a
diff --git a/media-video/megapixels/files/8721f29e27f21111c439ee45f4ea76b56017d016.patch b/media-video/megapixels/files/8721f29e27f21111c439ee45f4ea76b56017d016.patch
new file mode 100644
index 0000000..a11bcfa
--- /dev/null
+++ b/media-video/megapixels/files/8721f29e27f21111c439ee45f4ea76b56017d016.patch
@@ -0,0 +1,706 @@
+From 8721f29e27f21111c439ee45f4ea76b56017d016 Mon Sep 17 00:00:00 2001
+From: kgmt0
+Date: Fri, 17 Jun 2022 02:08:44 +0700
+Subject: [PATCH] WIP: Support Pinephone Pro
+
+Both cameras work now but the quality is very poor.
+
+The config file format is extended to include 2 new options
+"media-formats" and "media-crops" that can be used to set formats and
+crops on a per-pad basis. These are needed to initialize Pinephone Pro's
+media controller.
+
+Tested with Linux 6.0.8-1 from Arch Linux ARM (linux-megi).
+---
+ config/motorola,osprey.ini | 1 +
+ config/pine64,pinephone-pro.ini | 51 ++++++++
+ config/xiaomi,scorpio.ini | 1 +
+ meson.build | 1 +
+ src/camera.c | 10 +-
+ src/camera_config.c | 61 ++++++++++
+ src/camera_config.h | 23 ++++
+ src/device.c | 82 +++++++++++++
+ src/device.h | 9 ++
+ src/io_pipeline.c | 201 +++++++++++++++++++++++++-------
+ 10 files changed, 392 insertions(+), 48 deletions(-)
+ create mode 100644 config/pine64,pinephone-pro.ini
+
+diff --git a/config/motorola,osprey.ini b/config/motorola,osprey.ini
+index ab8990d..5809a8e 100644
+--- a/config/motorola,osprey.ini
++++ b/config/motorola,osprey.ini
+@@ -15,3 +15,4 @@ preview-rate=30
+ preview-fmt=RGGB10P
+ rotate=270
+ media-links=msm_csiphy0:1->msm_csid0:0,msm_csid0:1->msm_ispif0:0,msm_ispif0:1->msm_vfe0_rdi0:0
++media-formats=msm_csiphy0:1:RGGB10P:4096:2304,msm_csid0:0:RGGB10P:4096:2304,msm_csid0:1:RGGB10P:4096:2304,msm_ispif0:0:RGGB10P:4096:2304,msm_ispif0:1:RGGB10P:4096:2304,msm_vfe0_rdi0:0:RGGB10P:4096:2304
+diff --git a/config/pine64,pinephone-pro.ini b/config/pine64,pinephone-pro.ini
+new file mode 100644
+index 0000000..3416ca0
+--- /dev/null
++++ b/config/pine64,pinephone-pro.ini
+@@ -0,0 +1,51 @@
++[device]
++make=PINE64
++model=PinePhone
++
++[rear]
++driver=imx258 1-001a
++media-driver=rkisp1
++capture-width=1048
++capture-height=780
++capture-rate=30
++capture-fmt=RGGB8
++preview-width=1048
++preview-height=780
++preview-rate=30
++preview-fmt=RGGB8
++rotate=270
++mirrored=false
++blacklevel=3
++whitelevel=255
++focallength=2.35
++cropfactor=10.81
++fnumber=2.2
++iso-min=100
++iso-max=64000
++flash-path=/sys/class/leds/white:flash
++media-links=imx258 1-001a:0->rkisp1_csi:0,rkisp1_csi:1->rkisp1_isp:0,rkisp1_isp:2->rkisp1_resizer_mainpath:0
++media-formats=imx258 1-001a:0:RGGB10P:1048:780,rkisp1_csi:0:RGGB10P:1048:780,rkisp1_isp:0:RGGB10P:1048:780,rkisp1_isp:2:RGGB8:1048:780,rkisp1_resizer_mainpath:0:RGGB8:1048:780,rkisp1_resizer_mainpath:1:RGGB8:1048:780
++media-crops=rkisp1_isp:0:0:0:1048:780,rkisp1_isp:2:0:0:1048:780,rkisp1_resizer_mainpath:0:0:0:1048:768
++
++[front]
++driver=m00_f_ov8858 1-0036
++media-driver=rkisp1
++capture-width=3264
++capture-height=2448
++capture-rate=30
++;capture-fmt=BGGR10P
++capture-fmt=BGGR8
++preview-width=3264
++preview-height=2448
++preview-rate=30
++;preview-fmt=BGGR10P
++preview-fmt=BGGR8
++rotate=90
++mirrored=true
++focallength=2.94
++cropfactor=12.7
++fnumber=2.4
++flash-display=true
++media-links=m00_f_ov8858 1-0036:0->rkisp1_csi:0,rkisp1_csi:1->rkisp1_isp:0,rkisp1_isp:2->rkisp1_resizer_mainpath:0,rkisp1_resizer_mainpath:1->rkisp1_mainpath:0
++media-formats=m00_f_ov8858 1-0036:0:BGGR10P:3264:2448,rkisp1_csi:0:BGGR10P:3264:2448,rkisp1_isp:0:BGGR10P:3264:2448,rkisp1_isp:2:BGGR8:3264:2448,rkisp1_resizer_mainpath:0:BGGR8:3264:2448,rkisp1_resizer_mainpath:1:BGGR8:3264:2448
++media-crops=rkisp1_isp:0:0:0:3264:2448,rkisp1_isp:2:0:0:3264:2448,rkisp1_resizer_mainpath:0:0:0:3264:768
+diff --git a/config/xiaomi,scorpio.ini b/config/xiaomi,scorpio.ini
+index cce6d49..14b7f29 100644
+--- a/config/xiaomi,scorpio.ini
++++ b/config/xiaomi,scorpio.ini
+@@ -15,3 +15,4 @@ preview-rate=30
+ preview-fmt=RGGB10P
+ rotate=90
+ media-links=imx318 3-001a:0->msm_csiphy0:0,msm_csiphy0:1->msm_csid0:0,msm_csid0:1->msm_ispif0:0,msm_ispif0:1->msm_vfe0_rdi0:0
++media-formats=imx318 3-001a:0:RGGB10P:3840:2160,msm_csiphy0:0:RGGB10P:3840:2160,msm_csiphy0:1:RGGB10P:3840:2160,msm_csid0:0:RGGB10P:3840:2160,msm_csid0:1:RGGB10P:3840:2160,msm_ispif0:0:RGGB10P:3840:2160,msm_ispif0:1:RGGB10P:3840:2160,msm_vfe0_rdi0:0:RGGB10P:3840:2160
+diff --git a/meson.build b/meson.build
+index 3b98f19..d53dec9 100644
+--- a/meson.build
++++ b/meson.build
+@@ -72,6 +72,7 @@ install_data(
+ 'config/pine64,pinephone-1.0.ini',
+ 'config/pine64,pinephone-1.1.ini',
+ 'config/pine64,pinephone-1.2.ini',
++ 'config/pine64,pinephone-pro.ini',
+ 'config/pine64,pinetab.ini',
+ 'config/xiaomi,scorpio.ini',
+ ],
+diff --git a/src/camera.c b/src/camera.c
+index 9a08f56..7368189 100644
+--- a/src/camera.c
++++ b/src/camera.c
+@@ -305,11 +305,11 @@ mp_camera_set_mode(MPCamera *camera, MPMode *mode)
+ }
+
+ // Update the mode
+- mode->pixel_format =
+- mp_pixel_format_from_v4l_bus_code(fmt.format.code);
+- mode->frame_interval = interval.interval;
+- mode->width = fmt.format.width;
+- mode->height = fmt.format.height;
++ //mode->pixel_format =
++ // mp_pixel_format_from_v4l_bus_code(fmt.format.code);
++ //mode->frame_interval = interval.interval;
++ //mode->width = fmt.format.width;
++ //mode->height = fmt.format.height;
+ }
+
+ // Set the mode for the video device
+diff --git a/src/camera_config.c b/src/camera_config.c
+index 6ff74d1..1102354 100644
+--- a/src/camera_config.c
++++ b/src/camera_config.c
+@@ -184,6 +184,67 @@ config_ini_handler(void *user,
+ ++cc->num_media_links;
+ }
+ g_strfreev(linkdefs);
++ } else if (strcmp(name, "media-formats") == 0) {
++ struct mp_camera_config *cc = &cameras[index];
++ char **formatdefs = g_strsplit(value, ",", 0);
++
++ for (int i = 0; i < MP_MAX_FORMATS && formatdefs[i] != NULL;
++ ++i) {
++ char **entry = g_strsplit(formatdefs[i], ":", 5);
++ char *name = entry[0];
++ int pad = strtoint(entry[1], NULL, 10);
++ char *format = entry[2];
++ char *width = entry[3];
++ char *height = entry[4];
++
++ const size_t name_size =
++ sizeof(cc->media_formats[i].name);
++ strncpy(cc->media_formats[i].name,
++ name,
++ name_size );
++
++ cc->media_formats[i].pad = pad;
++
++ cc->media_formats[i].mode.pixel_format =
++ mp_pixel_format_from_str(format);
++ cc->media_formats[i].mode.width =
++ strtoint(width, NULL, 10);
++ cc->media_formats[i].mode.height =
++ strtoint(height, NULL, 10);
++
++ cc->num_media_formats++;
++
++ g_strfreev(entry);
++ }
++ } else if (strcmp(name, "media-crops") == 0) {
++ char **formatdefs = g_strsplit(value, ",", 0);
++
++ for (int i = 0; i < MP_MAX_CROPS && formatdefs[i] != NULL;
++ ++i) {
++ char **entry = g_strsplit(formatdefs[i], ":", 6);
++ char *name = entry[0];
++ int pad = strtoint(entry[1], NULL, 10);
++ int top = strtoint(entry[2], NULL, 10);
++ int left = strtoint(entry[3], NULL, 10);
++ int width = strtoint(entry[4], NULL, 10);
++ int height = strtoint(entry[5], NULL, 10);
++
++ const size_t name_size =
++ sizeof(cc->media_crops[i].name);
++ strncpy(cc->media_crops[i].name,
++ name,
++ name_size );
++
++ cc->media_crops[i].pad = pad;
++ cc->media_crops[i].top = top;
++ cc->media_crops[i].left = left;
++ cc->media_crops[i].width = width;
++ cc->media_crops[i].height = height;
++
++ cc->num_media_crops++;
++
++ g_strfreev(entry);
++ }
+ } else if (strcmp(name, "colormatrix") == 0) {
+ sscanf(value,
+ "%f,%f,%f,%f,%f,%f,%f,%f,%f",
+diff --git a/src/camera_config.h b/src/camera_config.h
+index d53d36f..b1bd5a5 100644
+--- a/src/camera_config.h
++++ b/src/camera_config.h
+@@ -7,6 +7,8 @@
+
+ #define MP_MAX_CAMERAS 5
+ #define MP_MAX_LINKS 10
++#define MP_MAX_FORMATS 10
++#define MP_MAX_CROPS 10
+
+ struct mp_media_link_config {
+ char source_name[100];
+@@ -15,6 +17,21 @@ struct mp_media_link_config {
+ int target_port;
+ };
+
++struct mp_media_format_config {
++ char name[100];
++ int pad;
++ MPMode mode;
++};
++
++struct mp_media_crop_config {
++ char name[100];
++ int pad;
++ int left;
++ int top;
++ int width;
++ int height;
++};
++
+ struct mp_camera_config {
+ size_t index;
+
+@@ -30,6 +47,12 @@ struct mp_camera_config {
+ struct mp_media_link_config media_links[MP_MAX_LINKS];
+ int num_media_links;
+
++ struct mp_media_format_config media_formats[MP_MAX_FORMATS];
++ int num_media_formats;
++
++ struct mp_media_crop_config media_crops[MP_MAX_CROPS];
++ int num_media_crops;
++
+ float colormatrix[9];
+ float forwardmatrix[9];
+ float previewmatrix[9];
+diff --git a/src/device.c b/src/device.c
+index 9e2db00..0defccb 100644
+--- a/src/device.c
++++ b/src/device.c
+@@ -8,6 +8,8 @@
+ #include
+ #include
+ #include
++#include
++#include
+
+ bool
+ mp_find_device_path(struct media_v2_intf_devnode devnode, char *path, int length)
+@@ -237,6 +239,73 @@ mp_entity_pad_set_format(MPDevice *device,
+ return true;
+ }
+
++const struct media_v2_pad *
++mp_device_get_pad_at_index_from_entity(const MPDevice *device, uint32_t entity_id, uint32_t index)
++{
++ for (int i = 0; i < device->num_pads; ++i) {
++ if (device->pads[i].entity_id == entity_id && index-- == 0) {
++ return &device->pads[i];
++ }
++ }
++ return NULL;
++}
++
++bool
++mp_device_setup_link_by_name(MPDevice *device,
++ const char *source_entity_name,
++ uint32_t source_pad_index,
++ const char *sink_entity_name,
++ uint32_t sink_pad_index,
++ bool enabled)
++{
++ const struct media_v2_entity *source_entity =
++ mp_device_find_entity
++ (device, source_entity_name);
++ const struct media_v2_entity *sink_entity =
++ mp_device_find_entity
++ (device, sink_entity_name);
++
++ struct media_link_desc link = {};
++ link.flags = enabled ? MEDIA_LNK_FL_ENABLED : 0;
++ link.source.entity = source_entity->id;
++ link.source.index = source_pad_index;
++ link.sink.entity = sink_entity->id;
++ link.sink.index = sink_pad_index;
++ if (xioctl(device->fd, MEDIA_IOC_SETUP_LINK, &link) == -1) {
++ errno_printerr("MEDIA_IOC_SETUP_LINK");
++ return false;
++ }
++
++ return true;
++}
++
++int
++mp_device_get_fd_by_name(const MPDevice *device, const char *driver_name)
++{
++ struct media_entity_desc desc = {};
++
++ desc.id |= MEDIA_ENT_ID_FLAG_NEXT;
++
++ while(true) {
++ desc.id |= MEDIA_ENT_ID_FLAG_NEXT;
++ if(xioctl(device->fd, MEDIA_IOC_ENUM_ENTITIES, &desc) == -1) {
++ errno_printerr("MEDIA_IOC_ENUM_ENTITIES");
++ return -1;
++ }
++
++ if(strncmp(desc.name, driver_name, 32) == 0) {
++ const uint32_t major = desc.dev.major;
++ const uint32_t minor = desc.dev.minor;
++ char path[256];
++ int rc = snprintf(path, 256, "/dev/char/%u:%u", major, minor);
++
++ return rc > 0 ? open(path, O_RDWR) : -1;
++ }
++ }
++
++ return -1;
++}
++
+ const struct media_v2_entity *
+ mp_device_find_entity(const MPDevice *device, const char *driver_name)
+ {
+@@ -263,6 +332,19 @@ mp_device_find_entity_type(const MPDevice *device, const uint32_t type)
+ return NULL;
+ }
+
++bool
++mp_xioctl(const MPDevice *device, const char *driver_name, unsigned long request, void *argp)
++{
++ int fd = mp_device_get_fd_by_name(device, driver_name);
++
++ if(fd < 0)
++ {
++ printf("ERROR: device with driver name %s not found\n", driver_name);
++ }
++
++ return fd >= 0 && xioctl(fd, request, argp) != -1;
++}
++
+ const struct media_device_info *
+ mp_device_get_info(const MPDevice *device)
+ {
+diff --git a/src/device.h b/src/device.h
+index 1894c67..a9e1b59 100644
+--- a/src/device.h
++++ b/src/device.h
+@@ -36,6 +36,15 @@ bool mp_entity_pad_set_format(MPDevice *device,
+ uint32_t pad,
+ MPMode *mode);
+
++bool mp_xioctl(const MPDevice *device, const char *driver_name, unsigned long request, void *argp);
++
++bool mp_device_setup_link_by_name(MPDevice *device,
++ const char *source_entity_name,
++ uint32_t source_pad_index,
++ const char *sink_entity_name,
++ uint32_t sink_pad_index,
++ bool enabled);
++
+ const struct media_device_info *mp_device_get_info(const MPDevice *device);
+ const struct media_v2_entity *mp_device_find_entity(const MPDevice *device,
+ const char *driver_name);
+diff --git a/src/io_pipeline.c b/src/io_pipeline.c
+index 8434420..da95678 100644
+--- a/src/io_pipeline.c
++++ b/src/io_pipeline.c
+@@ -47,7 +47,8 @@ struct camera_info {
+ // int media_fd;
+
+ // struct mp_media_link media_links[MP_MAX_LINKS];
+- // int num_media_links;
++ struct mp_media_link_config media_links[MP_MAX_LINKS];
++ int num_media_links;
+
+ // int gain_ctrl;
+ };
+@@ -100,36 +101,68 @@ static bool want_focus = false;
+ static MPPipeline *pipeline;
+ static GSource *capture_source;
+
++// TODO: move to device.c
++static void
++mp_setup_media_link_pad_crops(struct device_info *dev_info,
++ const struct mp_media_crop_config media_crops[],
++ int num_media_crops)
++{
++ for(int i = 0; i < num_media_crops; i++) {
++ const struct mp_media_crop_config *crop = media_crops + i;
++ struct v4l2_subdev_crop v4l2_crop = {};
++ v4l2_crop.pad = crop->pad;
++ v4l2_crop.which = V4L2_SUBDEV_FORMAT_ACTIVE;
++ v4l2_crop.rect.top = crop->top;
++ v4l2_crop.rect.left = crop->left;
++ v4l2_crop.rect.width = crop->width;
++ v4l2_crop.rect.height = crop->height;
++
++ if(!mp_xioctl(dev_info->device, crop->name, VIDIOC_SUBDEV_S_CROP, &v4l2_crop)) {
++ //errno_printerr("VIDIOC_SUBDEV_S_CROP");
++ }
++ }
++}
++
+ static void
+ mp_setup_media_link_pad_formats(struct device_info *dev_info,
+- const struct mp_media_link_config media_links[],
+- int num_media_links,
+- MPMode *mode)
++ const struct mp_media_format_config media_formats[],
++ int num_media_formats)
+ {
+- const struct media_v2_entity *entities[2];
+- int ports[2];
+- for (int i = 0; i < num_media_links; i++) {
+- entities[0] = mp_device_find_entity(
+- dev_info->device, (const char *)media_links[i].source_name);
+- entities[1] = mp_device_find_entity(
+- dev_info->device, (const char *)media_links[i].target_name);
+- ports[0] = media_links[i].source_port;
+- ports[1] = media_links[i].target_port;
+-
+- for (int j = 0; j < 2; j++)
+- if (!mp_entity_pad_set_format(
+- dev_info->device, entities[j], ports[j], mode)) {
+- g_printerr("Failed to set %s:%d format\n",
+- entities[j]->name,
+- ports[j]);
+- exit(EXIT_FAILURE);
+- }
++ for(int i = 0; i < num_media_formats; i++) {
++ const struct mp_media_format_config *format =
++ media_formats + i;
++ const struct media_v2_entity *entity =
++ mp_device_find_entity
++ (dev_info->device, format->name);
++ MPMode *mode =
++ (MPMode *)
++ &format->mode;
++ bool successful =
++ mp_entity_pad_set_format
++ (dev_info->device, entity, format->pad, mode);
++
++ if(!successful) {
++ g_printerr( "Failed to set %s:%d format\n",
++ entity->name,
++ format->pad );
++ exit(EXIT_FAILURE);
++ }
+ }
+ }
+
+ static void
+ setup_camera(MPDeviceList **device_list, const struct mp_camera_config *config)
+ {
++ char compat[512];
++ FILE *fp = fopen("/proc/device-tree/compatible", "r");
++ fgets(compat, 512, fp);
++ fclose(fp);
++
++ printf("setup_camera()\n");
++ printf("compatible: %s\n", compat);
++ printf("media_dev: %s\n", config->media_dev_name);
++ printf("dev: %s\n", config->dev_name);
++
+ // Find device info
+ size_t device_index = 0;
+ for (; device_index < num_devices; ++device_index) {
+@@ -144,6 +177,7 @@ setup_camera(MPDeviceList **device_list, const struct mp_camera_config *config)
+ if (device_index == num_devices) {
+ device_index = num_devices;
+
++ printf("initializing new device\n");
+ // Initialize new device
+ struct device_info *info = &devices[device_index];
+ info->media_dev_name = config->media_dev_name;
+@@ -175,6 +209,8 @@ setup_camera(MPDeviceList **device_list, const struct mp_camera_config *config)
+ exit(EXIT_FAILURE);
+ }
+
++ printf("video path: %s\n", dev_name);
++
+ info->video_fd = open(dev_name, O_RDWR);
+ if (info->video_fd == -1) {
+ g_printerr("Could not open %s: %s\n",
+@@ -191,6 +227,9 @@ setup_camera(MPDeviceList **device_list, const struct mp_camera_config *config)
+ struct device_info *dev_info = &devices[device_index];
+
+ info->device_index = device_index;
++ info->num_media_links = config->num_media_links;
++
++ memcpy(info->media_links, config->media_links, MP_MAX_LINKS * sizeof(struct mp_media_link_config));
+
+ const struct media_v2_entity *entity =
+ mp_device_find_entity(dev_info->device, config->dev_name);
+@@ -205,11 +244,48 @@ setup_camera(MPDeviceList **device_list, const struct mp_camera_config *config)
+
+ info->pad_id = pad->id;
+
++ // Disable all links
++ const size_t num_links =
++ mp_device_get_num_links(dev_info->device);
++ const struct media_v2_link *links =
++ mp_device_get_links(dev_info->device);
++
++ for(int i = 0; i < num_links; i++) {
++ const struct media_v2_link *link = links + i;
++
++ if(!(link->flags & MEDIA_LNK_FL_IMMUTABLE)) {
++ mp_device_setup_link(dev_info->device,
++ link->source_id,
++ link->sink_id,
++ false);
++ }
++ }
++
+ // Make sure the camera starts out as disabled
+- mp_device_setup_link(dev_info->device,
+- info->pad_id,
+- dev_info->interface_pad_id,
+- false);
++ printf("making sure camera starts out disabled\n");
++ if(config->num_media_links > 0)
++ {
++ const struct media_v2_entity *entity =
++ mp_device_find_entity(dev_info->device, config->media_links[0].source_name);
++
++ // This gets the first pad for this entity, which is
++ // fine for Pinephone Pro, but does it really work for
++ // all devices?
++ const struct media_v2_pad* pad =
++ mp_device_get_pad_from_entity(dev_info->device, entity->id);
++
++ mp_device_setup_link(dev_info->device,
++ info->pad_id,
++ pad->id,
++ false);
++ }
++ else
++ {
++ mp_device_setup_link(dev_info->device,
++ info->pad_id,
++ dev_info->interface_pad_id,
++ false);
++ }
+
+ const struct media_v2_interface *interface =
+ mp_device_find_entity_interface(dev_info->device,
+@@ -220,6 +296,7 @@ setup_camera(MPDeviceList **device_list, const struct mp_camera_config *config)
+ exit(EXIT_FAILURE);
+ }
+
++ printf("camera device path: %s\n", info->dev_fname);
+ info->fd = open(info->dev_fname, O_RDWR);
+ if (info->fd == -1) {
+ g_printerr("Could not open %s: %s\n",
+@@ -234,11 +311,14 @@ setup_camera(MPDeviceList **device_list, const struct mp_camera_config *config)
+ // the ov5640 driver where it won't allow setting the preview
+ // format initially.
+ MPMode mode = config->capture_mode;
+- if (config->num_media_links)
++ if (config->num_media_formats)
+ mp_setup_media_link_pad_formats(dev_info,
+- config->media_links,
+- config->num_media_links,
+- &mode);
++ config->media_formats,
++ config->num_media_formats);
++ if (config->num_media_crops)
++ mp_setup_media_link_pad_crops(dev_info,
++ config->media_crops,
++ config->num_media_crops);
+ mp_camera_set_mode(info->camera, &mode);
+
+ // Trigger continuous auto focus if the sensor supports it
+@@ -400,9 +480,12 @@ capture(MPPipeline *pipeline, const void *data)
+ mode = camera->capture_mode;
+ if (camera->num_media_links)
+ mp_setup_media_link_pad_formats(dev_info,
+- camera->media_links,
+- camera->num_media_links,
+- &mode);
++ camera->media_formats,
++ camera->num_media_formats);
++ if (camera->num_media_crops)
++ mp_setup_media_link_pad_crops(dev_info,
++ camera->media_crops,
++ camera->num_media_crops);
+ mp_camera_set_mode(info->camera, &mode);
+ just_switched_mode = true;
+
+@@ -569,9 +652,13 @@ on_frame(MPBuffer buffer, void *_data)
+ if (camera->num_media_links)
+ mp_setup_media_link_pad_formats(
+ dev_info,
+- camera->media_links,
+- camera->num_media_links,
+- &mode);
++ camera->media_formats,
++ camera->num_media_formats);
++ if (camera->num_media_crops)
++ mp_setup_media_link_pad_crops(
++ dev_info,
++ camera->media_crops,
++ camera->num_media_crops);
+ mp_camera_set_mode(info->camera, &mode);
+ just_switched_mode = true;
+
+@@ -609,6 +696,8 @@ mp_setup_media_link(struct device_info *dev_info,
+ static void
+ update_state(MPPipeline *pipeline, const struct mp_io_pipeline_state *state)
+ {
++ printf("update_state()\n");
++
+ // Make sure the state isn't updated more than it needs to be by checking
+ // whether this state change actually changes anything.
+ bool has_changed = false;
+@@ -617,6 +706,7 @@ update_state(MPPipeline *pipeline, const struct mp_io_pipeline_state *state)
+ has_changed = true;
+
+ if (camera) {
++ printf("uninitializing current camera\n");
+ struct camera_info *info = &cameras[camera->index];
+ struct device_info *dev_info = &devices[info->device_index];
+
+@@ -634,6 +724,7 @@ update_state(MPPipeline *pipeline, const struct mp_io_pipeline_state *state)
+ }
+
+ if (capture_source) {
++ printf("uninitializing current capture source\n");
+ g_source_destroy(capture_source);
+ capture_source = NULL;
+ }
+@@ -641,13 +732,33 @@ update_state(MPPipeline *pipeline, const struct mp_io_pipeline_state *state)
+ camera = state->camera;
+
+ if (camera) {
++ printf("initializing camera\n");
+ struct camera_info *info = &cameras[camera->index];
+ struct device_info *dev_info = &devices[info->device_index];
+
+- mp_device_setup_link(dev_info->device,
+- info->pad_id,
+- dev_info->interface_pad_id,
+- true);
++ if(info->num_media_links > 0)
++ {
++ const struct media_v2_entity *entity =
++ mp_device_find_entity(dev_info->device, info->media_links[0].source_name);
++
++ // This gets the first pad for this entity, which is
++ // fine for Pinephone Pro, but does it really work for
++ // all devices?
++ const struct media_v2_pad* pad =
++ mp_device_get_pad_from_entity(dev_info->device, entity->id);
++
++ mp_device_setup_link(dev_info->device,
++ info->pad_id,
++ pad->id,
++ true);
++ }
++ else
++ {
++ mp_device_setup_link(dev_info->device,
++ info->pad_id,
++ dev_info->interface_pad_id,
++ true);
++ }
+
+ // Enable media links
+ for (int i = 0; i < camera->num_media_links; i++)
+@@ -658,9 +769,13 @@ update_state(MPPipeline *pipeline, const struct mp_io_pipeline_state *state)
+ if (camera->num_media_links)
+ mp_setup_media_link_pad_formats(
+ dev_info,
+- camera->media_links,
+- camera->num_media_links,
+- &mode);
++ camera->media_formats,
++ camera->num_media_formats);
++ if (camera->num_media_crops)
++ mp_setup_media_link_pad_crops(
++ dev_info,
++ camera->media_crops,
++ camera->num_media_crops);
+ mp_camera_set_mode(info->camera, &mode);
+
+ mp_camera_start_capture(info->camera);
diff --git a/media-video/megapixels/megapixels-1.5.2.ebuild b/media-video/megapixels/megapixels-1.6.0.ebuild
similarity index 90%
rename from media-video/megapixels/megapixels-1.5.2.ebuild
rename to media-video/megapixels/megapixels-1.6.0.ebuild
index b244fc8..3b7414d 100755
--- a/media-video/megapixels/megapixels-1.5.2.ebuild
+++ b/media-video/megapixels/megapixels-1.6.0.ebuild
@@ -27,6 +27,10 @@ DEPEND="
RDEPEND="${DEPEND}"
BDEPEND=""
+PATCHES=(
+ "${FILESDIR}"/8721f29e27f21111c439ee45f4ea76b56017d016.patch
+)
+
pkg_postinst() {
xdg_pkg_postinst
gnome2_schemas_update
diff --git a/net-im/chatty/Manifest b/net-im/chatty/Manifest
index 840f9d9..2af4965 100644
--- a/net-im/chatty/Manifest
+++ b/net-im/chatty/Manifest
@@ -1,4 +1,4 @@
DIST chatty-v0.6.7.tar.gz 576407 BLAKE2B a6d6d2db170f689b30fb81c7ed3b6e66145eb559b6baf48cd0c2db7a3c4d70b1a16b7735ca7de552d5fbbd28219377676d0128debece9eb2fdba59fa18c7aa5f SHA512 3029843ad6064001e87f8a8a8af82b23cfc7d5dc2ffd35e3506b178a2dbd88046d88c4a22cd2b65f9a279a5ed2199f5dc5cfcbe657c36b79738d4bc0777de6f1
-DIST chatty-v0.7.0_rc1.tar.gz 548140 BLAKE2B 0c2f4b4161beaaa543fa275848d0f15841343124ea42ca997c888f27023c2fad1e3ad93634ee73ffa96ab2320f996c3b21c4c66320f6b4d519b6770515075369 SHA512 df696f4ba0a06a2d3bf1478c6ab72bf6671f26b0b3c505873c4aa125813867fbcda8b79a2365f58d3d382cf6a3f2cb8c2eb4dcdf99d1dad80fb49ca210130188
-DIST libcmatrix-13bdda3e2b6ef4747feeccbb0a9ddcfafb63f898.tar.gz 154080 BLAKE2B b0208b9c039b5915f1ef99f513f7079288caacdae0e38485af97ec31dfae20f117763e7d2565e62138e46e5af4cb76613aea7efdbffaf196cbaa5bba8cb08a38 SHA512 001f44aa70bab9e5115b4f325d5e091693b757f2cb51318e77df474bd0671c067a9231674636855d8ba5fe57ef39102fca4ee8680d6e27db8445c07c6576463c
+DIST chatty-v0.7.0_rc4.tar.gz 556961 BLAKE2B 643088e1e8b02b73442a3a8bffb613a088b75a0bec5e9a393fe2ea4c0db835dc3a8a4bb29f79b91621f24fe9325d2ce641803daa003d72306b983d89585ebe1b SHA512 e0ba0bd221f5e257d9fbde6632581abf002521aa870d4062de6a30d151414be700567638af1c61eab3f3057094cc4663d1f597280c93886283246e7c3f3763cb
+DIST libcmatrix-e9854d058068df258e7c0a60979e611ad2dc7a25.tar.gz 156438 BLAKE2B 14c197c7c620353164ba79251f2fb92b221a2b4a0bc8ddb140697ab2aa16bf00a45ce6a161564db2958f8a2333744a7c78e354ff7bd7c6cd60c0842ae5bda827 SHA512 9d04a121d91a04b59df85036ca868fa30a23edf7520ba44cb17c7f46cecd03fa04adf77e12c07c1e321e9d83ecca77dc3cc69d5901ce1e49d3e46369ecded26d
DIST libgd-c7c7ff4e05d3fe82854219091cf116cce6b19de0.tar.gz 58318 BLAKE2B f6e02c179340431655965e84f6fb8fac0543b220c2915c111eb7dc32c16d3d595d42c6cf5d303c20e02ebbbc5f01493b830eb99e3e4337a805f6f8b48fd27377 SHA512 681cc23b5a33df88a92e3aac33d0dba1c6ebb69a2bd6f15b6ae31f0b444c108f7bfd1391e604433be58d82c0032028b112652d3d0c473abe4db02d66c55cdef3
diff --git a/net-im/chatty/chatty-0.7.0_rc1.ebuild b/net-im/chatty/chatty-0.7.0_rc4.ebuild
similarity index 92%
rename from net-im/chatty/chatty-0.7.0_rc1.ebuild
rename to net-im/chatty/chatty-0.7.0_rc4.ebuild
index f8518df..f1f902e 100755
--- a/net-im/chatty/chatty-0.7.0_rc1.ebuild
+++ b/net-im/chatty/chatty-0.7.0_rc4.ebuild
@@ -5,9 +5,9 @@ EAPI=7
inherit meson gnome2-utils xdg
-COMMIT="37e96593d4accb1c637e992daa8466d444365db5"
+COMMIT="8ec02491e9b26ce30f5d56a9737ccf160b37b65c"
LIBGD_COMMIT="c7c7ff4e05d3fe82854219091cf116cce6b19de0"
-LIBCM_COMMIT="13bdda3e2b6ef4747feeccbb0a9ddcfafb63f898"
+LIBCM_COMMIT="e9854d058068df258e7c0a60979e611ad2dc7a25"
DESCRIPTION="XMPP and SMS messaging via libpurple and Modemmanager"
HOMEPAGE="https://source.puri.sm/Librem5/chatty"
diff --git a/net-libs/libcloudproviders/Manifest b/net-libs/libcloudproviders/Manifest
deleted file mode 100644
index b07a258..0000000
--- a/net-libs/libcloudproviders/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libcloudproviders-0.3.1.tar.xz 22072 BLAKE2B ecd573507b75c144d94678b693181efc9420fed2d9103cb35653a5f83435e544e77cba232c490ad946ace1eb3cc7382d746ca9fadb55a69c87f55ba3aa09ec83 SHA512 66e951380da8447529d04cc9cbaa0587f40152ab0b66787ce3939104a49eeb16808499a5dcdcd38b7ae9c8cca8bec66ae0bbf04524e7ff8fdf6d420e8a71d609
diff --git a/net-libs/libcloudproviders/libcloudproviders-0.3.1.ebuild b/net-libs/libcloudproviders/libcloudproviders-0.3.1.ebuild
deleted file mode 100644
index 35060d8..0000000
--- a/net-libs/libcloudproviders/libcloudproviders-0.3.1.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit gnome.org meson vala
-
-DESCRIPTION="DBus API that allows cloud storage sync clients to expose their services"
-HOMEPAGE="https://gitlab.gnome.org/World/libcloudproviders"
-
-LICENSE="LGPL-3"
-SLOT="0"
-IUSE="gtk-doc +introspection vala"
-REQUIRED_USE="vala? ( introspection )"
-
-KEYWORDS="~amd64 ~arm64"
-
-DEPEND=">=dev-libs/glib-2.51.2:2"
-RDEPEND="${DEPEND}"
-BDEPEND="
- dev-util/gdbus-codegen
- dev-util/glib-utils
- gtk-doc? ( dev-util/gtk-doc )
- vala? ( $(vala_depend) )
-"
-
-src_prepare() {
- default
- use vala && vala_setup
-}
-
-src_configure() {
- local emesonargs=(
- $(meson_use gtk-doc enable-gtk-doc)
- -Dinstalled-tests=false
- $(meson_use introspection)
- $(meson_use vala vapigen)
- )
- meson_src_configure
-}
-
-src_install() {
- meson_src_install
-}
diff --git a/net-libs/rest/Manifest b/net-libs/rest/Manifest
deleted file mode 100644
index 6331c5e..0000000
--- a/net-libs/rest/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST rest-0.8.1.tar.xz 333376 BLAKE2B 595576f29ebe35121b7a896086abd3411ac3b2d324d2e50d646274c4060cfaffbd3b701eaae80afdc60d52c77bb5076135064648536378f2562f27c79c5738b7 SHA512 824a341db3827e4360abe03e33735918c68913c70d797699ef74271080a1985872006ec70fd994dc8fa3fbfef417e6fe979883c11286512d0ce623b8368e40c3
-DIST rest-0.9.1.tar.xz 71136 BLAKE2B 696a43db8a05d90cd2cb86cb2ffe22a817c7b0565c1e90e2508b0dffd3824fa46afef78c039d8911dc50f93c0afe1efbc783676c677b71bb7a2b5ad9ac5a1a26 SHA512 7fb219f571aec2b8d09d71e257e2b230bfb5c862e7e425fd540c96f6e2a22457df7d3df32838d71beec00ba54c7adbd0301d744bb0497c46b3a1413949304462
diff --git a/net-libs/rest/rest-0.9.1.ebuild b/net-libs/rest/rest-0.9.1.ebuild
deleted file mode 100644
index 348b11a..0000000
--- a/net-libs/rest/rest-0.9.1.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit gnome.org meson vala
-
-DESCRIPTION="Helper library for RESTful services"
-HOMEPAGE="https://wiki.gnome.org/Projects/Librest"
-
-LICENSE="LGPL-2.1"
-SLOT="1.0" # librest_soversion
-KEYWORDS="~amd64 ~arm64"
-IUSE="gtk-doc +introspection test vala"
-REQUIRED_USE="
- gtk-doc? ( introspection )
- vala? ( introspection )
-"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-libs/glib-2.44.0:2
- >=net-libs/libsoup-2.99.2:3.0
- dev-libs/json-glib:0[introspection?]
- dev-libs/libxml2:2
- app-misc/ca-certificates
- introspection? ( >=dev-libs/gobject-introspection-1.74.0:= )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-util/glib-utils
- gtk-doc? ( >=dev-util/gi-docgen-2021.6 )
- vala? ( $(vala_depend) )
-"
-
-src_prepare() {
- default
- vala_setup
-
- # The only two tests from the rest-extras suite (flickr and lastfm) require
- # network access
- if has network-sandbox ${FEATURES}; then
- sed -i -e '/flickr/d' -e '/lastfm/d' tests/meson.build
- fi
-}
-
-src_configure() {
- local emesonargs=(
- -Dca_certificates=true
- -Dca_certificates_path="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt
- $(meson_use introspection)
- $(meson_use vala vapi)
- -Dexamples=false
- $(meson_use gtk-doc gtk_doc)
- -Dsoup2=false
- $(meson_use test tests)
- )
- meson_src_configure
-}
diff --git a/net-misc/eg25-manager/Manifest b/net-misc/eg25-manager/Manifest
index 8be8dc8..39145d9 100644
--- a/net-misc/eg25-manager/Manifest
+++ b/net-misc/eg25-manager/Manifest
@@ -1 +1 @@
-DIST eg25-manager-0.4.5.tar.gz 54313 BLAKE2B 1ac8d0866a9dc633547b6dc334c88c84fbf8c6978c8601ecad1b9d9ec2a777129ce42e604d5cc32bcead24d916dc0687dd1a352500f454f88cbaac42634f5ff5 SHA512 0aa5cabbb4eadfa1784aa9f8bd22b4c517dcf39c8e7dc694ab5fc4e0681a91c43354a82b1d877a87c94b89a156b5a09035a25beb47e503c9c4b0b41405e0e438
+DIST eg25-manager-0.4.6.tar.gz 54287 BLAKE2B 31273d1c3676c3da026c2aebf3f1039ac14b640f4792ba4b045267c04393d2e1685d11cee847fb027ee2eb991fafae945ad63db6c9a22fd4ff9708142fb3e09b SHA512 f67e2a903ccb8c1428e46a7b25a7abfee4345de960c02cc523fd9490b7bbc61ff5134170c82c0bfe6bdc3dc311f1b66b1392f07c1041d610d75c745703b63b09
diff --git a/net-misc/eg25-manager/eg25-manager-0.4.5.ebuild b/net-misc/eg25-manager/eg25-manager-0.4.6.ebuild
similarity index 94%
rename from net-misc/eg25-manager/eg25-manager-0.4.5.ebuild
rename to net-misc/eg25-manager/eg25-manager-0.4.6.ebuild
index ca51c7f..5c5d5f1 100755
--- a/net-misc/eg25-manager/eg25-manager-0.4.5.ebuild
+++ b/net-misc/eg25-manager/eg25-manager-0.4.6.ebuild
@@ -5,7 +5,7 @@ EAPI=7
inherit meson systemd
-COMMIT="5b4f9bcc1205c4084049e8e627528e6e6beb3a98"
+COMMIT="e7790f941c053837e596dccd92ba97051a2d4cc1"
DESCRIPTION="Daemon for managing the Quectel EG25 modem"
HOMEPAGE="https://gitlab.com/mobian1/eg25-manager"
diff --git a/net-voip/gnome-calls/Manifest b/net-voip/gnome-calls/Manifest
index edd261d..40865a2 100755
--- a/net-voip/gnome-calls/Manifest
+++ b/net-voip/gnome-calls/Manifest
@@ -1,2 +1,2 @@
-DIST calls-v43.0.tar.gz 490744 BLAKE2B f89d6d02982b183beed3c5d6abde84de67b337427d801a82b591035ca8d93f744bb7f5f4366b79105606c3895cd5cbd0cc8163f5f19797db8c81d81244363264 SHA512 d72a80fa4a4e3a891b8f0e44709b70aa9427b31cd7c7906626dfb728aae8aa75f2db46bd8efaaf79ce7b15c1c72b53be4055f5b81d556f2407a601060aebbb4a
+DIST calls-v43.2.tar.gz 718776 BLAKE2B 9101ff58fdb2c2eae94c39e7e0ed2e1b6f806e7fea16bfbd215f96fc0ec369fb4fc7389d7787f0da1c4363c511160847b24aa16122e3850715df42bbdc0e4184 SHA512 abffb4eb375e107c72db0fdc8848afc2f065ce0c57a852163c176ee508074653195b492a0e111986f4ce091df98ee75861c6bb73275aec1ad846cab4c70a13ab
DIST libcall-ui-619dd91561ad470db3d0e0e263ebc35d787afd2e.tar.gz 165840 BLAKE2B 4bbeec0dd5314bdbd4aacef4cb7a7599557a35c32b3135120bfbc6977a2a1a4f17f702eac021f694f11dffe5ecebc23b44ffda765d1b9e10d5f23f88461e1b2a SHA512 c42bb6474fd7215b23a5496ae6ebbcf3e0e3f123c358f79f9fb0800def336386ff334d9b780f1f77614e94003f79dce739edb4bdd0502b9969f3706a6d2091a5
diff --git a/net-voip/gnome-calls/gnome-calls-43.0.ebuild b/net-voip/gnome-calls/gnome-calls-43.2.ebuild
similarity index 100%
rename from net-voip/gnome-calls/gnome-calls-43.0.ebuild
rename to net-voip/gnome-calls/gnome-calls-43.2.ebuild
diff --git a/net-voip/vvmd/Manifest b/net-voip/vvmd/Manifest
index 7096875..eae71c8 100644
--- a/net-voip/vvmd/Manifest
+++ b/net-voip/vvmd/Manifest
@@ -1 +1 @@
-DIST vvmd-0.10.tar.gz 164157 BLAKE2B e55f659c21d3596dbc07f3d1314614021eb281e64b0d0167a966c832d5411ee8e341192b62021796ec525cb1b4dca76c22c7548f9bd13dbec9d9855c7897e5f9 SHA512 3a0241df8579b59dd8259114b727876da2499c058b4332fa98ac999d1977d88560a527997fd20fe8506706996890a76ce8db11d2ebf8d02d98f27ed6f8ace318
+DIST vvmd-0.13.tar.gz 167051 BLAKE2B 50360dc8d7e145d9d6ff625ff8c08b2f7c8e0b3dc41e891b4adae73019ac9f59a2943a5b678752532fbb6404e54df8bd511f2bc32d6c2ef7b01df01a349a4995 SHA512 8149c4570f0353c923faf33dc3d01a21901c71294d30763cdb596273c32942dd9bdfc50b6a7d12442577cb7251c7d9da6724f9526c4b20934875cab00b897f5a
diff --git a/net-voip/vvmd/vvmd-0.10.ebuild b/net-voip/vvmd/vvmd-0.13.ebuild
similarity index 100%
rename from net-voip/vvmd/vvmd-0.10.ebuild
rename to net-voip/vvmd/vvmd-0.13.ebuild
diff --git a/x11-libs/vte/Manifest b/x11-libs/vte/Manifest
deleted file mode 100644
index 2ea5475..0000000
--- a/x11-libs/vte/Manifest
+++ /dev/null
@@ -1,6 +0,0 @@
-DIST vte-0.28.2.tar.xz 962340 BLAKE2B 1e4b5977962265be77917ccfc9118ed93232c03d7a16b6c08a27e721fe71f8c1dd1783a439530d7b3d915111cb8cc78281f1e9e351d6a83edd31f224309ca1e9 SHA512 d6a50481aaa8946cca3779e0b328fef551be534d70366a75385d1f8ead3fcddec57bed85c7d4bc2d9f34546532129e63083aafa33cbb0efcbc7dc9d66e7c45f6
-DIST vte-0.68.0-command-notify.patch.xz 9748 BLAKE2B de2d4c9b7f2c2b21518984f818d0052c0084398f5f4ee30d766a6adb9c4536fdec5027c753d3d710fb7432e67472b7f8ca44f1dd5f51aaef48d9124708975d24 SHA512 89be91cdba36749f97bac872f0f2196be7d36a58beaf94fa24a3ae9c266bdfbf4f4fbf1d10f43a276540653fff7062eb844107016e7f014437f2903d251dc1d7
-DIST vte-0.68.0.tar.bz2 507598 BLAKE2B 10274d9e804f00bf071b7848633ca8de2953f4e91dc2967e33b7d6698bb304baac4f0e0431debae5a972c2c56c65efd1c5b92455a17db08cf254ddec56d3276e SHA512 785df7261b5075f166e59de7d3535b381564715ce65efd4837a130e153528691b610fc6160c00f0f17008f5f4ee94c23350d9a477b4b1d58da6ace083e5caae1
-DIST vte-0.70.0-command-notify.patch.xz 9040 BLAKE2B 108dd05d00409af90b1fd3e9b5c3b0e5586ac80204cef8840fda935204cbc480fec1193e2a0a2782f98e2b094c3caebbfe61cf18631b16921df05cf3808afd22 SHA512 92123e7f5cb6ef876f2b2b108dbef59bce212efebd64cd790d49d9ee3215344acd848eec5d326fe2c3bd236846ed3b896148024390093491b2f6e2f7c46e2bd1
-DIST vte-0.70.0.tar.bz2 499283 BLAKE2B 694cf4dfee334e9b54bb8e47f862167acbb8ffc7ac8e81889acd4786449cb45944a87a5adaa036f46458c350ca2119bb356e90dfa71f03638c9c2b14d2ccb877 SHA512 362b71296ae39a16b55402f524a39b063f66ae237e6e161ccc89ca2bb1f2a5c43f4d706d9f3bfae12a99fdb81c4e70408c7f3eca2c01316950b0a3a1a1d79423
-DIST vte-0.70.1.tar.bz2 502044 BLAKE2B 0a9ce43c1863e823fcd073fd30fb6b2cb39e9168e850796fe12be2b9bdfc0b24ceea974b4c94bcdd10f2225613990e0e079194380241b7e625cb6dc4309a7476 SHA512 88de629b382eca8a42199b2ba9b248e231817e1de7183417aed150bcf61530084f7177d73dee9aab25fe4c3ab80d795b5fdcae336687560d3b582bd04181353d
diff --git a/x11-libs/vte/files/vte-0.28.2-interix.patch b/x11-libs/vte/files/vte-0.28.2-interix.patch
deleted file mode 100644
index c54d46e..0000000
--- a/x11-libs/vte/files/vte-0.28.2-interix.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-reported upstream: https://bugzilla.gnome.org/show_bug.cgi?id=652290
-
-diff -ru vte-0.26.2.orig/configure.in vte-0.26.2/configure.in
---- vte-0.26.2.orig/configure.in 2011-08-17 08:30:55 +0200
-+++ vte-0.26.2/configure.in 2011-08-17 08:35:42 +0200
-@@ -362,7 +362,11 @@
- AC_DEFINE(HAVE_RECVMSG,1,[Define if you have the recvmsg function.])
- fi
- AC_CHECK_FUNC(floor,,AC_CHECK_LIB(m,floor,LIBS=["$LIBS -lm"]))
--AC_CHECK_FUNCS([ceil floor])
-+dnl if the first check didn't find floor, it caches the "no" value,
-+dnl and doesn't recheck. this makes the below check fail always on
-+dnl systems with floor in -lm. thus we unset the chached result.
-+unset ac_cv_func_floor
-+AC_CHECK_FUNCS([ceil floor round])
-
- # Look for tgetent
-
---- vte-0.26.2.orig/configure 2012-04-30 20:02:55.000000000 +0200
-+++ vte-0.26.2/configure 2012-04-30 20:03:16.000000000 +0200
-@@ -13277,7 +13277,7 @@
-
- fi
-
--for ac_func in ceil floor
-+for ac_func in ceil floor round
- do :
- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
- ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-diff -ru vte-0.26.2.orig/src/vte.c vte-0.26.2/src/vte.c
---- vte-0.26.2.orig/src/vte.c 2011-08-17 08:30:58 +0200
-+++ vte-0.26.2/src/vte.c 2011-08-17 08:38:09 +0200
-@@ -63,6 +63,18 @@
- #include
- #endif
-
-+#ifndef HAVE_ROUND
-+# if defined(HAVE_CEIL) && defined(HAVE_FLOOR)
-+static inline double round(double x) {
-+ if(x - floor(x) < 0.5) {
-+ return floor(x);
-+ } else {
-+ return ceil(x);
-+ }
-+}
-+# endif
-+#endif
-+
- #if GTK_CHECK_VERSION (2, 90, 7)
- #define GDK_KEY(symbol) GDK_KEY_##symbol
- #else
diff --git a/x11-libs/vte/files/vte-0.28.2-limit-arguments.patch b/x11-libs/vte/files/vte-0.28.2-limit-arguments.patch
deleted file mode 100644
index fd45407..0000000
--- a/x11-libs/vte/files/vte-0.28.2-limit-arguments.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From feeee4b5832b17641e505b7083e0d299fdae318e Mon Sep 17 00:00:00 2001
-From: Christian Persch
-Date: Sat, 19 May 2012 17:36:09 +0000
-Subject: emulation: Limit integer arguments to 65535
-
-To guard against malicious sequences containing excessively big numbers,
-limit all parsed numbers to 16 bit range. Doing this here in the parsing
-routine is a catch-all guard; this doesn't preclude enforcing
-more stringent limits in the handlers themselves.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=676090
----
-diff --git a/src/table.c b/src/table.c
-index 140e8c8..85cf631 100644
---- a/src/table.c
-+++ b/src/table.c
-@@ -550,7 +550,7 @@ _vte_table_extract_numbers(GValueArray **array,
- if (G_UNLIKELY (*array == NULL)) {
- *array = g_value_array_new(1);
- }
-- g_value_set_long(&value, total);
-+ g_value_set_long(&value, CLAMP (total, 0, G_MAXUSHORT));
- g_value_array_append(*array, &value);
- } while (i++ < arginfo->length);
- g_value_unset(&value);
-diff --git a/src/vteseq.c b/src/vteseq.c
-index 457c06a..46def5b 100644
---- a/src/vteseq.c
-+++ b/src/vteseq.c
-@@ -557,7 +557,7 @@ vte_sequence_handler_multiple(VteTerminal *terminal,
- GValueArray *params,
- VteTerminalSequenceHandler handler)
- {
-- vte_sequence_handler_multiple_limited(terminal, params, handler, G_MAXLONG);
-+ vte_sequence_handler_multiple_limited(terminal, params, handler, G_MAXUSHORT);
- }
-
- static void
---
-cgit v0.9.0.2
diff --git a/x11-libs/vte/files/vte-0.28.2-repaint-after-change-scroll-region.patch b/x11-libs/vte/files/vte-0.28.2-repaint-after-change-scroll-region.patch
deleted file mode 100644
index 86e5471..0000000
--- a/x11-libs/vte/files/vte-0.28.2-repaint-after-change-scroll-region.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-https://git.gnome.org/browse/vte/commit/?id=88e8e89560a62d0981ce2b18974a230d0a07dbdd
-
-From 88e8e89560a62d0981ce2b18974a230d0a07dbdd Mon Sep 17 00:00:00 2001
-From: Micah Cowan
-Date: Tue, 22 Oct 2013 23:30:43 +0200
-Subject: widget: Fix invalidation region
-
-When the sequence handler moves the cursor into the restricted scrolling region,
-the bbox needs to be reset, too.
-Fixes glitches with interspersing writes to the bottom line with scrolls of the
-upper region, and also fixes missing screen redraws when using mosh.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=542087
-https://bugzilla.gnome.org/show_bug.cgi?id=686097
-
-diff --git a/src/vte.c b/src/vte.c
-index 9f6d7d8..a4d9d25 100644
---- a/src/vte.c
-+++ b/src/vte.c
-@@ -4077,6 +4077,7 @@ vte_terminal_process_incoming(VteTerminal *terminal)
- long wcount, start, delta;
- gboolean leftovers, modified, bottom, again;
- gboolean invalidated_text;
-+ gboolean in_scroll_region;
- GArray *unichars;
- struct _vte_incoming_chunk *chunk, *next_chunk, *achunk = NULL;
-
-@@ -4096,6 +4097,10 @@ vte_terminal_process_incoming(VteTerminal *terminal)
- cursor = screen->cursor_current;
- cursor_visible = terminal->pvt->cursor_visible;
-
-+ in_scroll_region = screen->scrolling_restricted
-+ && (screen->cursor_current.row >= (screen->insert_delta + screen->scrolling_region.start))
-+ && (screen->cursor_current.row <= (screen->insert_delta + screen->scrolling_region.end));
-+
- /* We should only be called when there's data to process. */
- g_assert(terminal->pvt->incoming ||
- (terminal->pvt->pending->len > 0));
-@@ -4194,6 +4199,8 @@ skip_chunk:
- * points to the first character which isn't part of this
- * sequence. */
- if ((match != NULL) && (match[0] != '\0')) {
-+ gboolean new_in_scroll_region;
-+
- /* Call the right sequence handler for the requested
- * behavior. */
- _vte_terminal_handle_sequence(terminal,
-@@ -4204,12 +4211,21 @@ skip_chunk:
- start = (next - wbuf);
- modified = TRUE;
-
-- /* if we have moved during the sequence handler, restart the bbox */
-+ new_in_scroll_region = screen->scrolling_restricted
-+ && (screen->cursor_current.row >= (screen->insert_delta + screen->scrolling_region.start))
-+ && (screen->cursor_current.row <= (screen->insert_delta + screen->scrolling_region.end));
-+
-+ delta = screen->scroll_delta; /* delta may have changed from sequence. */
-+
-+ /* if we have moved greatly during the sequence handler, or moved
-+ * into a scroll_region from outside it, restart the bbox.
-+ */
- if (invalidated_text &&
-- (screen->cursor_current.col > bbox_bottomright.x + VTE_CELL_BBOX_SLACK ||
-- screen->cursor_current.col < bbox_topleft.x - VTE_CELL_BBOX_SLACK ||
-- screen->cursor_current.row > bbox_bottomright.y + VTE_CELL_BBOX_SLACK ||
-- screen->cursor_current.row < bbox_topleft.y - VTE_CELL_BBOX_SLACK)) {
-+ ((new_in_scroll_region && !in_scroll_region) ||
-+ (screen->cursor_current.col > bbox_bottomright.x + VTE_CELL_BBOX_SLACK ||
-+ screen->cursor_current.col < bbox_topleft.x - VTE_CELL_BBOX_SLACK ||
-+ screen->cursor_current.row > bbox_bottomright.y + VTE_CELL_BBOX_SLACK ||
-+ screen->cursor_current.row < bbox_topleft.y - VTE_CELL_BBOX_SLACK))) {
- /* Clip off any part of the box which isn't already on-screen. */
- bbox_topleft.x = MAX(bbox_topleft.x, 0);
- bbox_topleft.y = MAX(bbox_topleft.y, delta);
-@@ -4229,6 +4245,8 @@ skip_chunk:
- bbox_bottomright.x = bbox_bottomright.y = -G_MAXINT;
- bbox_topleft.x = bbox_topleft.y = G_MAXINT;
- }
-+
-+ in_scroll_region = new_in_scroll_region;
- } else
- /* Second, we have a NULL match, and next points to the very
- * next character in the buffer. Insert the character which
---
-cgit v0.10.2
-
diff --git a/x11-libs/vte/files/vte-0.30.1-alt-meta.patch b/x11-libs/vte/files/vte-0.30.1-alt-meta.patch
deleted file mode 100644
index bd364be..0000000
--- a/x11-libs/vte/files/vte-0.30.1-alt-meta.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From 180dcc578e13c6096e277fb853e7162db640f207 Mon Sep 17 00:00:00 2001
-From: Alexandre Rostovtsev
-Date: Tue, 15 Nov 2011 03:06:40 -0500
-Subject: [PATCH] Map both gdk's Meta and Alt to vte's Meta for >=gtk+-3.2.2
- compatibility
-
-Also, since VTE_META_MASK is now a mask with multiple bits set, code that
-compares gdk key modifiers to VTE_META_MASK by numerical equality is no
-longer guaranteed to work. Therefore, for such comparisons a new function,
-vte_keymap_fixup_modifiers, is introduced; it ensures that if any bits
-matching matching VTE_META_MASK are set, then all are set.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=663779
----
- src/keymap.c | 15 +++++++++++++--
- src/keymap.h | 2 +-
- 2 files changed, 14 insertions(+), 3 deletions(-)
-
-diff --git a/src/keymap.c b/src/keymap.c
-index 9a21669..95b4c5b 100644
---- a/src/keymap.c
-+++ b/src/keymap.c
-@@ -990,6 +990,17 @@ static const struct _vte_keymap_group {
- {GDK_KEY (F35), _vte_keymap_GDK_F35},
- };
-
-+/* Restrict modifiers to the specified mask and ensure that VTE_META_MASK,
-+ * despite being a compound mask, is treated as indivisible. */
-+GdkModifierType
-+_vte_keymap_fixup_modifiers(GdkModifierType modifiers,
-+ GdkModifierType mask)
-+{
-+ if (modifiers & VTE_META_MASK)
-+ modifiers |= VTE_META_MASK;
-+ return modifiers & mask;
-+}
-+
- /* Map the specified keyval/modifier setup, dependent on the mode, to either
- * a literal string or a capability name. */
- void
-@@ -1104,7 +1115,7 @@ _vte_keymap_map(guint keyval,
- } else {
- fkey_mode = fkey_default;
- }
-- modifiers &= (GDK_SHIFT_MASK | GDK_CONTROL_MASK | VTE_META_MASK | VTE_NUMLOCK_MASK);
-+ modifiers = _vte_keymap_fixup_modifiers(modifiers, GDK_SHIFT_MASK | GDK_CONTROL_MASK | VTE_META_MASK | VTE_NUMLOCK_MASK);
-
- /* Search for the conditions. */
- for (i = 0; entries[i].normal_length || entries[i].special[0]; i++)
-@@ -1375,7 +1386,7 @@ _vte_keymap_key_add_key_modifiers(guint keyval,
- return;
- }
-
-- switch (modifiers & significant_modifiers) {
-+ switch (_vte_keymap_fixup_modifiers(modifiers, significant_modifiers)) {
- case 0:
- modifier = 0;
- break;
-diff --git a/src/keymap.h b/src/keymap.h
-index 243e22e..21d9b8e 100644
---- a/src/keymap.h
-+++ b/src/keymap.h
-@@ -27,7 +27,7 @@
-
- G_BEGIN_DECLS
-
--#define VTE_META_MASK GDK_META_MASK
-+#define VTE_META_MASK (GDK_META_MASK | GDK_MOD1_MASK)
- #define VTE_NUMLOCK_MASK GDK_MOD2_MASK
-
- /* Map the specified keyval/modifier setup, dependent on the mode, to either
---
-1.7.8.rc3
-
diff --git a/x11-libs/vte/files/vte-0.64.1-meson-Find-python-explicitly-to-honor-downstream-pyt.patch b/x11-libs/vte/files/vte-0.64.1-meson-Find-python-explicitly-to-honor-downstream-pyt.patch
deleted file mode 100644
index 79171d2..0000000
--- a/x11-libs/vte/files/vte-0.64.1-meson-Find-python-explicitly-to-honor-downstream-pyt.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-https://gitlab.gnome.org/GNOME/vte/-/issues/350
-
-From d459d32126119c8d78f8239b8b857a255e6005d7 Mon Sep 17 00:00:00 2001
-From: Matt Turner
-Date: Sat, 1 May 2021 08:31:45 -0400
-Subject: [PATCH] meson: Find python explicitly to honor downstream python
- choice
-
----
- meson.build | 1 +
- src/meson.build | 2 ++
- 2 files changed, 3 insertions(+)
-
-diff --git a/meson.build b/meson.build
-index 4f5a7c57..6404802f 100644
---- a/meson.build
-+++ b/meson.build
-@@ -461,6 +461,7 @@ pango_dep = dependency('pango', version: '>=' + pango_req_version)
- pcre2_dep = dependency('libpcre2-8', version: '>=' + pcre2_req_version)
- pthreads_dep = dependency('threads')
- zlib_dep = dependency('zlib')
-+python = import('python').find_installation('python3')
-
- if get_option('fribidi')
- fribidi_dep = dependency('fribidi', version: '>=' + fribidi_req_version)
-diff --git a/src/meson.build b/src/meson.build
-index a1440da5..4ac6a7f2 100644
---- a/src/meson.build
-+++ b/src/meson.build
-@@ -60,6 +60,7 @@ modes_sources = files(
- modes_sources += custom_target(
- 'modes',
- command: [
-+ python,
- files('modes.py'),
- '--destdir', '@OUTDIR@',
- ],
-@@ -92,6 +93,7 @@ parser_sources = files(
- parser_sources += custom_target(
- 'parser-seq',
- command: [
-+ python,
- files('parser-seq.py'),
- '--destdir', '@OUTDIR@',
- ],
---
-2.26.3
-
diff --git a/x11-libs/vte/files/vte-0.66.2-musl-W_EXITCODE.patch b/x11-libs/vte/files/vte-0.66.2-musl-W_EXITCODE.patch
deleted file mode 100644
index b629613..0000000
--- a/x11-libs/vte/files/vte-0.66.2-musl-W_EXITCODE.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-https://gitlab.gnome.org/GNOME/vte/-/issues/72
-https://bugs.gentoo.org/835489
-https://bugs.gentoo/org/554416
-
-From 1c1de9e9119cf1e0ef45a594ca9bbf306d2209cb Mon Sep 17 00:00:00 2001
-From:
-Date: Fri, 12 Mar 2021 08:41:13 -0600
-Subject: [PATCH] Expanded non-standard W_EXITCODE macro for Musl compatibility
-
---- a/src/widget.cc
-+++ b/src/widget.cc
-@@ -20,8 +20,6 @@
-
- #include "widget.hh"
-
--#include // for W_EXITCODE
--
- #include
- #include
- #include
-@@ -235,7 +233,7 @@ void
- Widget::dispose() noexcept
- {
- if (m_terminal->terminate_child()) {
-- int status = W_EXITCODE(0, SIGKILL);
-+ int status = (0) << 8 | (SIGKILL); // W_EXITCODE(ret, sig)
- emit_child_exited(status);
- }
- }
diff --git a/x11-libs/vte/vte-0.70.0.ebuild b/x11-libs/vte/vte-0.70.0.ebuild
deleted file mode 100644
index 66ad554..0000000
--- a/x11-libs/vte/vte-0.70.0.ebuild
+++ /dev/null
@@ -1,101 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit gnome.org meson python-any-r1 vala xdg
-
-DESCRIPTION="Library providing a virtual terminal emulator widget"
-HOMEPAGE="https://wiki.gnome.org/Apps/Terminal/VTE https://gitlab.gnome.org/GNOME/vte"
-
-# Once SIXEL support ships (0.66 or later), might need xterm license (but code might be considered upgraded to LGPL-3+)
-LICENSE="LGPL-3+ GPL-3+"
-SLOT="2.91" # vte_api_version in meson.build
-IUSE="+crypt debug gtk-doc +icu +introspection systemd +vala vanilla"
-KEYWORDS="~amd64 ~arm64"
-REQUIRED_USE="
- gtk-doc? ( introspection )
- vala? ( introspection )
-"
-
-# Upstream is hostile and refuses to upload tarballs.
-SRC_URI="https://gitlab.gnome.org/GNOME/${PN}/-/archive/${PV}/${P}.tar.bz2"
-SRC_URI="${SRC_URI} !vanilla? ( https://dev.gentoo.org/~mattst88/distfiles/${PN}-0.70.0-command-notify.patch.xz )"
-
-DEPEND="
- >=x11-libs/gtk+-3.24.22:3[introspection?]
- >=dev-libs/fribidi-1.0.0
- >=dev-libs/glib-2.52:2
- crypt? ( >=net-libs/gnutls-3.2.7:0= )
- icu? ( dev-libs/icu:= )
- >=x11-libs/pango-1.22.0
- >=dev-libs/libpcre2-10.21:=
- systemd? ( >=sys-apps/systemd-220:= )
- sys-libs/zlib
- introspection? ( >=dev-libs/gobject-introspection-1.56:= )
- x11-libs/pango[introspection?]
-"
-RDEPEND="${DEPEND}
- ~gui-libs/vte-common-${PV}[systemd?]
-"
-BDEPEND="
- ${PYTHON_DEPS}
- dev-libs/libxml2:2
- dev-util/glib-utils
- gtk-doc? ( dev-util/gi-docgen )
- >=sys-devel/gettext-0.19.8
- virtual/pkgconfig
- vala? ( $(vala_depend) )
-"
-
-src_prepare() {
- default
- use vala && vala_setup
- xdg_environment_reset
-
- use elibc_musl && eapply "${FILESDIR}"/${PN}-0.66.2-musl-W_EXITCODE.patch
-
- if ! use vanilla; then
- # Part of https://src.fedoraproject.org/rpms/vte291/raw/f37/f/vte291-cntnr-precmd-preexec-scroll.patch
- # Adds OSC 777 support for desktop notifications in gnome-terminal or elsewhere
- eapply "${WORKDIR}"/${PN}-0.70.0-command-notify.patch
- fi
-
- # -Ddebugg option enables various debug support via VTE_DEBUG, but also ggdb3; strip the latter
- sed -e '/ggdb3/d' -i meson.build || die
- sed -i 's/vte_gettext_domain = vte_api_name/vte_gettext_domain = vte_gtk3_api_name/' meson.build || die
-}
-
-src_configure() {
- local emesonargs=(
- -Da11y=true
- $(meson_use debug debugg)
- $(meson_use gtk-doc docs)
- $(meson_use introspection gir)
- -Dfribidi=true # pulled in by pango anyhow
- -Dglade=true
- $(meson_use crypt gnutls)
- -Dgtk3=true
- -Dgtk4=false
- $(meson_use icu)
- $(meson_use systemd _systemd)
- $(meson_use vala vapi)
- )
- meson_src_configure
-}
-
-src_install() {
- meson_install # not meson_src_install because this would include einstalldocs, which would result in file collisions with gui-libs/vte
- # Remove files that are provided by gui-libs/vte-common
- rm "${ED}"/usr/libexec/vte-urlencode-cwd || die
- rm "${ED}"/etc/profile.d/vte.sh || die
- rm "${ED}"/etc/profile.d/vte.csh || die
- if use systemd; then
- rm "${ED}"/usr/lib/systemd/user/vte-spawn-.scope.d/defaults.conf || die
- fi
- if use gtk-doc; then
- mkdir -p "${ED}"/usr/share/gtk-doc/ || die
- mv "${ED}"/usr/share/doc/vte-${SLOT} "${ED}"/usr/share/gtk-doc/vte-${SLOT}-gtk3 || die
- fi
-}
diff --git a/x11-libs/vte/vte-0.70.1.ebuild b/x11-libs/vte/vte-0.70.1.ebuild
deleted file mode 100644
index 66ad554..0000000
--- a/x11-libs/vte/vte-0.70.1.ebuild
+++ /dev/null
@@ -1,101 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit gnome.org meson python-any-r1 vala xdg
-
-DESCRIPTION="Library providing a virtual terminal emulator widget"
-HOMEPAGE="https://wiki.gnome.org/Apps/Terminal/VTE https://gitlab.gnome.org/GNOME/vte"
-
-# Once SIXEL support ships (0.66 or later), might need xterm license (but code might be considered upgraded to LGPL-3+)
-LICENSE="LGPL-3+ GPL-3+"
-SLOT="2.91" # vte_api_version in meson.build
-IUSE="+crypt debug gtk-doc +icu +introspection systemd +vala vanilla"
-KEYWORDS="~amd64 ~arm64"
-REQUIRED_USE="
- gtk-doc? ( introspection )
- vala? ( introspection )
-"
-
-# Upstream is hostile and refuses to upload tarballs.
-SRC_URI="https://gitlab.gnome.org/GNOME/${PN}/-/archive/${PV}/${P}.tar.bz2"
-SRC_URI="${SRC_URI} !vanilla? ( https://dev.gentoo.org/~mattst88/distfiles/${PN}-0.70.0-command-notify.patch.xz )"
-
-DEPEND="
- >=x11-libs/gtk+-3.24.22:3[introspection?]
- >=dev-libs/fribidi-1.0.0
- >=dev-libs/glib-2.52:2
- crypt? ( >=net-libs/gnutls-3.2.7:0= )
- icu? ( dev-libs/icu:= )
- >=x11-libs/pango-1.22.0
- >=dev-libs/libpcre2-10.21:=
- systemd? ( >=sys-apps/systemd-220:= )
- sys-libs/zlib
- introspection? ( >=dev-libs/gobject-introspection-1.56:= )
- x11-libs/pango[introspection?]
-"
-RDEPEND="${DEPEND}
- ~gui-libs/vte-common-${PV}[systemd?]
-"
-BDEPEND="
- ${PYTHON_DEPS}
- dev-libs/libxml2:2
- dev-util/glib-utils
- gtk-doc? ( dev-util/gi-docgen )
- >=sys-devel/gettext-0.19.8
- virtual/pkgconfig
- vala? ( $(vala_depend) )
-"
-
-src_prepare() {
- default
- use vala && vala_setup
- xdg_environment_reset
-
- use elibc_musl && eapply "${FILESDIR}"/${PN}-0.66.2-musl-W_EXITCODE.patch
-
- if ! use vanilla; then
- # Part of https://src.fedoraproject.org/rpms/vte291/raw/f37/f/vte291-cntnr-precmd-preexec-scroll.patch
- # Adds OSC 777 support for desktop notifications in gnome-terminal or elsewhere
- eapply "${WORKDIR}"/${PN}-0.70.0-command-notify.patch
- fi
-
- # -Ddebugg option enables various debug support via VTE_DEBUG, but also ggdb3; strip the latter
- sed -e '/ggdb3/d' -i meson.build || die
- sed -i 's/vte_gettext_domain = vte_api_name/vte_gettext_domain = vte_gtk3_api_name/' meson.build || die
-}
-
-src_configure() {
- local emesonargs=(
- -Da11y=true
- $(meson_use debug debugg)
- $(meson_use gtk-doc docs)
- $(meson_use introspection gir)
- -Dfribidi=true # pulled in by pango anyhow
- -Dglade=true
- $(meson_use crypt gnutls)
- -Dgtk3=true
- -Dgtk4=false
- $(meson_use icu)
- $(meson_use systemd _systemd)
- $(meson_use vala vapi)
- )
- meson_src_configure
-}
-
-src_install() {
- meson_install # not meson_src_install because this would include einstalldocs, which would result in file collisions with gui-libs/vte
- # Remove files that are provided by gui-libs/vte-common
- rm "${ED}"/usr/libexec/vte-urlencode-cwd || die
- rm "${ED}"/etc/profile.d/vte.sh || die
- rm "${ED}"/etc/profile.d/vte.csh || die
- if use systemd; then
- rm "${ED}"/usr/lib/systemd/user/vte-spawn-.scope.d/defaults.conf || die
- fi
- if use gtk-doc; then
- mkdir -p "${ED}"/usr/share/gtk-doc/ || die
- mv "${ED}"/usr/share/doc/vte-${SLOT} "${ED}"/usr/share/gtk-doc/vte-${SLOT}-gtk3 || die
- fi
-}
diff --git a/x11-terms/gnome-terminal/Manifest b/x11-terms/gnome-terminal/Manifest
deleted file mode 100644
index 335ea73..0000000
--- a/x11-terms/gnome-terminal/Manifest
+++ /dev/null
@@ -1,5 +0,0 @@
-DIST gnome-terminal-3.44.0-cntr-ntfy-autottl-ts.patch.xz 37248 BLAKE2B b3599386e7272fc5b742c11663f09bbfafa84cc855bd13fd602d679601fbb4126f36cdb157db37db335bf9edfe7d2b85e534baf837c5817984ec17baa4cdbb6c SHA512 6422a774abfee18b2681115344f508b72ead1bb9f27b5b1596b419a9ce5a137d41e2d749b6d784170225e7f21f15c109f7eb74cc3164371d53dee7790bf99187
-DIST gnome-terminal-3.44.1.tar.xz 1813032 BLAKE2B 3e001139aa0516bd27f7215c692c048393d6ad41737b8817f212529d3c530f6417d05601f63e6265e3fb84e788322341c25784a0a26ee7434f1d4bccd31c1eea SHA512 afaa9a1b4fa86fea853a242f167d1ba3438efe4e049336bae138cb800d43c3325f624849463f16c9d4e34360916377c4edbfd2f3977212b51e35a41cca88b283
-DIST gnome-terminal-3.46.2-cntr-ntfy-autottl-ts.patch.xz 34980 BLAKE2B 97a634da8f586fe03770540a00480f04de5d3210bb45e9af216ac876a85a8199d2d9ed651cae6631a0b432c96d28b5a07202baf79765a2b3767160c1df5cb84a SHA512 96591f7e1f4febfce9d8b10a0fc8aebc09ad07cb2fb36876affaa47f19360944c37e63c173af6f07807247c6f60f34e4e39590ccb1632a64d6e5dbf3912bea74
-DIST gnome-terminal-3.46.2.tar.gz 2881209 BLAKE2B 191e9f2f074e2965e85708e92608903173228e9c8df8df3f67eea33a95ab0726f5a0e10c80839d735c57f47ee5388fe70b2eedff21c1d73019ede95d6a00fd78 SHA512 b5a6507f9e908d9bdd4659d961e9618ff75ed5c6e02c6818d8399d4ea355dff7ea1b8bafb4304501d5a46e83e5f8633524c7851d42a39b1bdea5a1545ca1d31d
-DIST gnome-terminal-3.46.3.tar.gz 2881211 BLAKE2B a5c0aea858692bbab3ed20d4daa54dc97c98d4b920b09fa0aa52963658f6a327e90398c45ae5ed4dd3a40823ba84eff208f6df5e5e0731a1b1e7d8e531ad7b73 SHA512 d1408bfaf0a7c0b090f140c5ac12fe406fcfb18ddda5745616f209e196cc0b29887a312afa29a8ce319cbc7a0093908305a0fc95c357f8c714084cc696c8e79c
diff --git a/x11-terms/gnome-terminal/files/gnome-terminal-3.44.1-fix-missing-wexitcode.patch b/x11-terms/gnome-terminal/files/gnome-terminal-3.44.1-fix-missing-wexitcode.patch
deleted file mode 100644
index aff2237..0000000
--- a/x11-terms/gnome-terminal/files/gnome-terminal-3.44.1-fix-missing-wexitcode.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-https://gitlab.gnome.org/GNOME/vte/-/issues/72
-Someone already tried to upstream a similar patch to gnome vte that
-would fix this but was rejected by maintainer. More info can be found
-on the link above.
-
-W_EXITCODE is missing in musl thus causing gnome-terminal build to fail.
-This patch checks if W_EXITCODE is not defined and then defines it.
---- a/src/terminal.cc
-+++ b/src/terminal.cc
-@@ -47,6 +47,11 @@
- GS_DEFINE_CLEANUP_FUNCTION0(TerminalOptions*, gs_local_options_free, terminal_options_free)
- #define gs_free_options __attribute__ ((cleanup(gs_local_options_free)))
-
-+/* fix for musl */
-+#ifndef W_EXITCODE
-+#define W_EXITCODE(ret, sig) ((ret) << 8 | (sig))
-+#endif
-+
- /* Wait-for-exit helper */
-
- typedef struct {
diff --git a/x11-terms/gnome-terminal/files/separate-new-tab-window.gschema.override b/x11-terms/gnome-terminal/files/separate-new-tab-window.gschema.override
deleted file mode 100644
index 65d39a4..0000000
--- a/x11-terms/gnome-terminal/files/separate-new-tab-window.gschema.override
+++ /dev/null
@@ -1,2 +0,0 @@
-[org.gnome.Terminal.Legacy.Settings]
-unified-menu=false
diff --git a/x11-terms/gnome-terminal/gnome-terminal-3.46.3.ebuild b/x11-terms/gnome-terminal/gnome-terminal-3.46.3.ebuild
deleted file mode 100644
index 5e19247..0000000
--- a/x11-terms/gnome-terminal/gnome-terminal-3.46.3.ebuild
+++ /dev/null
@@ -1,96 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{8..11} )
-inherit gnome.org gnome2-utils meson python-any-r1 readme.gentoo-r1 xdg
-
-DESCRIPTION="A terminal emulator for GNOME"
-HOMEPAGE="https://wiki.gnome.org/Apps/Terminal/ https://gitlab.gnome.org/GNOME/gnome-terminal"
-
-LICENSE="GPL-3+"
-SLOT="0"
-IUSE="debug +gnome-shell +nautilus vanilla"
-
-# Upstream is hostile and refuses to upload tarballs.
-SRC_URI="https://gitlab.gnome.org/GNOME/${PN}/-/archive/${PV}/${P}.tar.gz"
-SRC_URI+=" !vanilla? ( https://dev.gentoo.org/~mattst88/distfiles/${PN}-3.46.2-cntr-ntfy-autottl-ts.patch.xz )"
-
-KEYWORDS="~amd64 ~arm64"
-
-# FIXME: automagic dependency on gtk+[X], just transitive but needs proper control, bug 624960
-RDEPEND="
- >=dev-libs/glib-2.52:2
- >=x11-libs/gtk+-3.22.27:3
- >=x11-libs/vte-0.70.0:2.91[!vanilla?]
- >=dev-libs/libpcre2-10
- >=gnome-base/gsettings-desktop-schemas-0.1.0
- sys-apps/util-linux
- gnome-shell? ( gnome-base/gnome-shell )
- nautilus? ( >=gnome-base/nautilus-43.0 )
-"
-DEPEND="${RDEPEND}"
-# itstool required for help/* with non-en LINGUAS, see bug #549358
-# xmllint required for glib-compile-resources, see bug #549304
-BDEPEND="
- ${PYTHON_DEPS}
- dev-libs/libxml2:2
- dev-libs/libxslt
- dev-util/gdbus-codegen
- dev-util/glib-utils
- dev-util/itstool
- >=sys-devel/gettext-0.19.8
- virtual/pkgconfig
-"
-
-DOC_CONTENTS="To get previous working directory inherited in new opened tab, or
- notifications of long-running commands finishing, you will need
- to add the following line to your ~/.bashrc:\n
- . /etc/profile.d/vte-2.91.sh"
-
-src_prepare() {
- eapply "${FILESDIR}"/${PN}-3.44.1-fix-missing-wexitcode.patch
- if ! use vanilla; then
- # https://bugzilla.gnome.org/show_bug.cgi?id=695371
- # Fedora patches:
- # Restore transparency support (with compositing WMs only)
- # OSC 777 desktop notification support (notifications on tabs for long-running commands completing)
- # Restore "Set title" support
- # Automatic title updating based on currently running foreground process
- # https://src.fedoraproject.org/rpms/gnome-terminal/raw/f31/f/gnome-terminal-cntr-ntfy-autottl-ts.patch
- # Depends on vte[-vanilla] for OSC 777 and the preexec/precmd/etc patches in VTE
- eapply "${WORKDIR}"/${PN}-3.46.2-cntr-ntfy-autottl-ts.patch
- fi
- default
-}
-
-src_configure() {
- local emesonargs=(
- $(meson_use debug dbg)
- -Ddocs=false
- $(meson_use nautilus nautilus_extension)
- $(meson_use gnome-shell search_provider)
- )
- meson_src_configure
-}
-
-src_install() {
- meson_src_install
- if ! use vanilla; then
- # Separate "New Window/Tab" menu entries by default, instead of unified "New Terminal"
- insinto /usr/share/glib-2.0/schemas
- newins "${FILESDIR}"/separate-new-tab-window.gschema.override org.gnome.Terminal.gschema.override
- fi
- readme.gentoo_create_doc
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
- gnome2_schemas_update
- readme.gentoo_print_elog
-}
-
-pkg_postrm() {
- xdg_pkg_postrm
- gnome2_schemas_update
-}
diff --git a/x11-wm/mutter/Manifest b/x11-wm/mutter/Manifest
deleted file mode 100644
index 88b32d6..0000000
--- a/x11-wm/mutter/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST mutter-913655c03539fb03ff691dc5192acb03c7f0c011.tar.gz 4598084 BLAKE2B 19395d4473b4b4c6827fd71ea2cd013a2310b3e0318b13bfb2a6ff598d33fbfd4b9da3a8ac8a9dd53fff8be8909732d064b6dd8289a9e7ee2bd37a15ff79e7ba SHA512 ed07d3df1dbd313f11724b70c9bff15589979bd534cf5f9790ae6ad9aec90a5e94b131c17578417363a68b571c2c747e48fa706c1c25d54d3dc732fa44d735ae
diff --git a/x11-wm/mutter/files/mutter-42.0-Disable-anonymous-file-test.patch b/x11-wm/mutter/files/mutter-42.0-Disable-anonymous-file-test.patch
deleted file mode 100644
index d0e0784..0000000
--- a/x11-wm/mutter/files/mutter-42.0-Disable-anonymous-file-test.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 8cb699dc59c64dc9f58873b3bbe2d17c3a08d2f9 Mon Sep 17 00:00:00 2001
-From: Matt Turner
-Date: Fri, 18 Mar 2022 17:40:52 -0700
-Subject: [PATCH] Disable anonymous-file test
-
-It attempts to open /proc/self/fd/* (an fd created by memfd_create),
-which sandbox disallows.
----
- src/tests/meson.build | 5 -----
- 1 file changed, 5 deletions(-)
-
-diff --git a/src/tests/meson.build b/src/tests/meson.build
-index a19703288..50027d1f8 100644
---- a/src/tests/meson.build
-+++ b/src/tests/meson.build
-@@ -180,11 +180,6 @@ test_cases += [
- 'suite': 'compositor',
- 'sources': [ 'stage-view-tests.c', ],
- },
-- {
-- 'name': 'anonymous-file',
-- 'suite': 'unit',
-- 'sources': [ 'anonymous-file.c', ],
-- },
- ]
-
- if have_native_tests
---
-2.34.1
-
diff --git a/x11-wm/mutter/files/mutter-42.4-backend-native-Don-t-warn-on-EACCES-if-headless.patch b/x11-wm/mutter/files/mutter-42.4-backend-native-Don-t-warn-on-EACCES-if-headless.patch
deleted file mode 100644
index 98b58d3..0000000
--- a/x11-wm/mutter/files/mutter-42.4-backend-native-Don-t-warn-on-EACCES-if-headless.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From db854a8588c1164df2f54c5718930aadf353b948 Mon Sep 17 00:00:00 2001
-From: Simon McVittie
-Date: Thu, 18 Aug 2022 10:41:01 +0100
-Subject: [PATCH] backend/native: Don't warn on EACCES if headless
-
-Since commit 1bf70334 "tests/runner: Make test runner use the headless
-backend", tests are run with the native backend in headless mode, which
-will attempt to open each GPU and show a warning (fatal during tests)
-if it cannot.
-
-However, in headless mode we might not be logged in on any seat (for
-example we might be logged in via ssh instead), which means we might
-legitimately not have permission to use any GPUs, even if they exist.
-Downgrade the warning to a debug message in this case.
-
-Resolves: https://gitlab.gnome.org/GNOME/mutter/-/issues/2381
-Signed-off-by: Simon McVittie
-Part-of:
-(cherry picked from commit 64a67aa00bfe54fe7219d7f581950897fcbf9a75)
----
- src/backends/native/meta-backend-native.c | 35 +++++++++++++++++++----
- 1 file changed, 30 insertions(+), 5 deletions(-)
-
-diff --git a/src/backends/native/meta-backend-native.c b/src/backends/native/meta-backend-native.c
-index 224538787..a2babb4b0 100644
---- a/src/backends/native/meta-backend-native.c
-+++ b/src/backends/native/meta-backend-native.c
-@@ -514,8 +514,20 @@ on_udev_device_added (MetaUdev *udev,
- new_gpu_kms = create_gpu_from_udev_device (native, device, &error);
- if (!new_gpu_kms)
- {
-- g_warning ("Failed to hotplug secondary gpu '%s': %s",
-- device_path, error->message);
-+ if (meta_backend_is_headless (backend) &&
-+ g_error_matches (error, G_IO_ERROR,
-+ G_IO_ERROR_PERMISSION_DENIED))
-+ {
-+ meta_topic (META_DEBUG_BACKEND,
-+ "Ignoring unavailable secondary gpu '%s': %s",
-+ device_path, error->message);
-+ }
-+ else
-+ {
-+ g_warning ("Failed to hotplug secondary gpu '%s': %s",
-+ device_path, error->message);
-+ }
-+
- return;
- }
-
-@@ -552,9 +564,22 @@ init_gpus (MetaBackendNative *native,
-
- if (!gpu_kms)
- {
-- g_warning ("Failed to open gpu '%s': %s",
-- g_udev_device_get_device_file (device),
-- local_error->message);
-+ if (meta_backend_is_headless (backend) &&
-+ g_error_matches (local_error, G_IO_ERROR,
-+ G_IO_ERROR_PERMISSION_DENIED))
-+ {
-+ meta_topic (META_DEBUG_BACKEND,
-+ "Ignoring unavailable gpu '%s': %s'",
-+ g_udev_device_get_device_file (device),
-+ local_error->message);
-+ }
-+ else
-+ {
-+ g_warning ("Failed to open gpu '%s': %s",
-+ g_udev_device_get_device_file (device),
-+ local_error->message);
-+ }
-+
- g_clear_error (&local_error);
- continue;
- }
---
-2.35.1
-
diff --git a/x11-wm/mutter/files/mutter-43.0-Disable-anonymous-file-test.patch b/x11-wm/mutter/files/mutter-43.0-Disable-anonymous-file-test.patch
deleted file mode 100644
index 98fcc4c..0000000
--- a/x11-wm/mutter/files/mutter-43.0-Disable-anonymous-file-test.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 8cb699dc59c64dc9f58873b3bbe2d17c3a08d2f9 Mon Sep 17 00:00:00 2001
-From: Matt Turner
-Date: Fri, 18 Mar 2022 17:40:52 -0700
-Subject: [PATCH] Disable anonymous-file test
-
-It attempts to open /proc/self/fd/* (an fd created by memfd_create),
-which sandbox disallows.
----
- src/tests/meson.build | 5 -----
- 1 file changed, 5 deletions(-)
-
-diff --git a/src/tests/meson.build b/src/tests/meson.build
-index a19703288..50027d1f8 100644
---- a/src/tests/meson.build
-+++ b/src/tests/meson.build
-@@ -224,11 +224,6 @@ test_cases += [
- 'suite': 'compositor',
- 'sources': [ 'stage-view-tests.c', ],
- },
-- {
-- 'name': 'anonymous-file',
-- 'suite': 'unit',
-- 'sources': [ 'anonymous-file.c', ],
-- },
- {
- 'name': 'edid',
- 'suite': 'unit',
diff --git a/x11-wm/mutter/mutter-43.0_beta.ebuild b/x11-wm/mutter/mutter-43.0_beta.ebuild
deleted file mode 100644
index ab94273..0000000
--- a/x11-wm/mutter/mutter-43.0_beta.ebuild
+++ /dev/null
@@ -1,210 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{8..11} )
-inherit gnome.org gnome2-utils meson python-any-r1 udev xdg
-
-COMMIT="913655c03539fb03ff691dc5192acb03c7f0c011"
-DESCRIPTION="GNOME compositing window manager based on Clutter"
-HOMEPAGE="https://gitlab.gnome.org/GNOME/mutter/"
-SRC_URI="https://gitlab.gnome.org/verdre/mutter/-/archive/${COMMIT}/mutter-${COMMIT}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0/$(($(ver_cut 1) - 32))" # 0/libmutter_api_version - ONLY gnome-shell (or anything using mutter-clutter-.pc) should use the subslot
-
-IUSE="doc elogind gnome input_devices_wacom +introspection screencast sysprof systemd test udev wayland video_cards_nvidia mobile"
-# native backend requires gles3 for hybrid graphics blitting support, udev and a logind provider
-REQUIRED_USE="
- wayland? ( ^^ ( elogind systemd ) udev )
- test? ( wayland )"
-RESTRICT="!test? ( test )"
-
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
-
-# gnome-settings-daemon is build checked, but used at runtime only for org.gnome.settings-daemon.peripherals.keyboard gschema
-# xorg-server is needed at build and runtime with USE=wayland for Xwayland
-# v3.32.2 has many excessive or unused *_req variables declared, thus currently the dep order ignores those and goes via dependency() call order
-DEPEND="
- >=media-libs/lcms-2.6:2
- >=x11-misc/colord-1.4.5:=
- >=x11-libs/libX11-1.7.0
- >=media-libs/graphene-1.10.2[introspection?]
- >=x11-libs/gtk+-3.19.8:3[X,introspection?]
- x11-libs/gdk-pixbuf:2
- >=x11-libs/pango-1.46[introspection?]
- >=dev-libs/fribidi-1.0.0
- >=x11-libs/cairo-1.14[X]
- >=gnome-base/gsettings-desktop-schemas-42.0[introspection?]
- >=dev-libs/glib-2.69.0:2
- gnome-base/gnome-settings-daemon
- >=dev-libs/json-glib-0.12.0[introspection?]
- >=x11-libs/libxkbcommon-0.4.3
- x11-libs/libICE
- >=dev-libs/atk-2.5.3[introspection?]
- >=media-libs/libcanberra-0.26
- sys-apps/dbus
- gnome? ( gnome-base/gnome-desktop:3= )
- media-libs/mesa[X(+),egl(+)]
- sysprof? ( >=dev-util/sysprof-capture-3.40.1:4 )
- systemd? ( sys-apps/systemd )
- wayland? (
- >=dev-libs/wayland-protocols-1.26
- >=dev-libs/wayland-1.21.0
- x11-libs/libdrm
- >=media-libs/mesa-21.3[egl(+),gbm(+),wayland,gles2]
- >=dev-libs/libinput-1.18.0:=
- elogind? ( sys-auth/elogind )
- x11-base/xwayland
- video_cards_nvidia? ( gui-libs/egl-wayland )
- )
- udev? ( >=dev-libs/libgudev-232
- >=virtual/libudev-232-r1:=
- )
- x11-libs/libSM
- input_devices_wacom? ( >=dev-libs/libwacom-0.13:= )
- >=x11-libs/startup-notification-0.7
- screencast? ( >=media-video/pipewire-0.3.21:= )
- introspection? ( >=dev-libs/gobject-introspection-1.54:= )
- doc? ( >=dev-util/gi-docgen-2021.1 )
-"
-# for now upstream has "have_x11 = true" in the meson.build, but sooner or later upstream is going to make X optional.
-# X? (
-DEPEND+="
- >=x11-libs/libXcomposite-0.4
- x11-libs/libXcursor
- x11-libs/libXdamage
- x11-libs/libXext
- >=x11-libs/libXfixes-3
- >=x11-libs/libXi-1.7.4
- x11-libs/libXtst
- x11-libs/libxkbfile
- x11-misc/xkeyboard-config
- >=x11-libs/libxkbcommon-0.4.3[X]
- x11-libs/libXrender
- >=x11-libs/libXrandr-1.5.0
- x11-libs/libxcb:=
- x11-libs/libXinerama
- x11-libs/libXau
-"
-# )"
-
-RDEPEND="${DEPEND}
- gnome-extra/zenity
-
- !=dev-util/sysprof-common-3.38.0 )
-"
-BDEPEND="
- dev-util/wayland-scanner
- dev-util/gdbus-codegen
- dev-util/glib-utils
- >=sys-devel/gettext-0.19.8
- virtual/pkgconfig
- test? (
- ${PYTHON_DEPS}
- $(python_gen_any_dep '
- >=dev-python/python-dbusmock-0.28[${PYTHON_USEDEP}]
- ')
- app-text/docbook-xml-dtd:4.5
- x11-misc/xvfb-run
- )
- wayland? (
- >=sys-kernel/linux-headers-4.4
- x11-libs/libxcvt
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-43.0-Disable-anonymous-file-test.patch
-)
-
-S="${WORKDIR}/mutter-${COMMIT}"
-
-python_check_deps() {
- if use test; then
- python_has_version ">=dev-python/python-dbusmock-0.28[${PYTHON_USEDEP}]"
- fi
-}
-
-src_prepare() {
- default
-
- sed -i -e "s:#!/usr/bin/bash:#!$(command -v bash):" src/tests/x11-test.sh || die
-}
-
-src_configure() {
- # TODO: Replicate debug vs release meson build type behaviour under our buildtype=plain
- local emesonargs=(
- -Dopengl=true
- #opengl_libname
- #gles2_libname
- $(meson_use wayland gles2)
- -Degl=true
- -Dglx=true
- $(meson_use wayland)
- $(meson_use systemd)
- $(meson_use wayland native_backend)
- $(meson_use screencast remote_desktop)
- -Dlibgnome_desktop=true
- $(meson_use udev)
- -Dudev_dir=$(get_udevdir)
- $(meson_use input_devices_wacom libwacom)
- -Dsound_player=true
- -Dpango_ft2=true
- -Dstartup_notification=true
- -Dsm=true
- $(meson_use introspection)
- $(meson_use doc docs)
- $(meson_use test cogl_tests)
- $(meson_use wayland core_tests) # core tests require wayland; overall -Dtests option is honored on top, so no extra conditional needed
- -Dnative_tests=false
- $(meson_use test clutter_tests)
- $(meson_use test tests)
- -Dkvm_tests=false
- -Dtty_tests=false
- $(meson_use sysprof profiler)
- -Dinstalled_tests=false
-
- #verbose # Let upstream choose default for verbose mode
- #xwayland_path
- # TODO: relies on default settings, but in Gentoo we might have some more packages we want to give Xgrab access (mostly virtual managers and remote desktops)
- #xwayland_grab_default_access_rules
- )
-
- if use wayland && use video_cards_nvidia; then
- emesonargs+=(
- -Degl_device=true
- -Dwayland_eglstream=true
- )
- else
- emesonargs+=(
- -Degl_device=false
- -Dwayland_eglstream=false
- )
- fi
-
- meson_src_configure
-}
-
-src_test() {
- gnome2_environment_reset # Avoid dconf that looks at XDG_DATA_DIRS, which can sandbox fail if flatpak is installed
- glib-compile-schemas "${BUILD_DIR}"/data
- GSETTINGS_SCHEMA_DIR="${BUILD_DIR}"/data meson_src_test --setup=CI
-}
-
-pkg_postinst() {
- use udev && udev_reload
- xdg_pkg_postinst
- gnome2_schemas_update
-}
-
-pkg_postrm() {
- use udev && udev_reload
- xdg_pkg_postrm
- gnome2_schemas_update
-}