From b4b3f647ee2bcd7178c93c4349073c5ea6ec210f Mon Sep 17 00:00:00 2001 From: Gerben Jan Dijkman Date: Thu, 15 Dec 2022 13:54:39 +0100 Subject: [PATCH] Added --- dev-libs/feedbackd-device-themes/Manifest | 1 + ...eedbackd-device-themes-0.0.20220523.ebuild | 17 + dev-libs/feedbackd-device-themes/metadata.xml | 8 + gnome-extra/gnome-calendar/Manifest | 1 - .../gnome-calendar/gnome-calendar-43.0.ebuild | 51 -- gnome-extra/vvmplayer/Manifest | 2 +- ...ayer-1.5.ebuild => vvmplayer-2.0.0.ebuild} | 4 +- gui-libs/vte-common/Manifest | 2 - .../vte-common-0.70.0-musl-W_EXITCODE.patch | 29 - gui-libs/vte-common/vte-common-0.70.1.ebuild | 78 -- .../gnome-mobile-meta-1.0.ebuild | 162 ---- media-libs/libshumate/Manifest | 1 - media-libs/libshumate/libshumate-1.0.2.ebuild | 60 -- media-plugins/gst-plugins-hls/Manifest | 2 +- ...2.ebuild => gst-plugins-hls-1.20.4.ebuild} | 0 media-sound/callaudiod/Manifest | 3 +- .../callaudiod/callaudiod-0.1.4.ebuild | 31 - .../callaudiod/callaudiod-0.1.5.ebuild | 22 + .../callaudiod/callaudiod-0.1.6.ebuild | 22 + media-video/megapixels/Manifest | 2 +- ...f29e27f21111c439ee45f4ea76b56017d016.patch | 706 ++++++++++++++++++ ...s-1.5.2.ebuild => megapixels-1.6.0.ebuild} | 4 + net-im/chatty/Manifest | 4 +- ...7.0_rc1.ebuild => chatty-0.7.0_rc4.ebuild} | 4 +- net-libs/libcloudproviders/Manifest | 1 - .../libcloudproviders-0.3.1.ebuild | 44 -- net-libs/rest/Manifest | 2 - net-libs/rest/rest-0.9.1.ebuild | 59 -- net-misc/eg25-manager/Manifest | 2 +- ...0.4.5.ebuild => eg25-manager-0.4.6.ebuild} | 2 +- net-voip/gnome-calls/Manifest | 2 +- ...ls-43.0.ebuild => gnome-calls-43.2.ebuild} | 0 net-voip/vvmd/Manifest | 2 +- .../{vvmd-0.10.ebuild => vvmd-0.13.ebuild} | 0 x11-libs/vte/Manifest | 6 - x11-libs/vte/files/vte-0.28.2-interix.patch | 51 -- .../files/vte-0.28.2-limit-arguments.patch | 40 - ...2-repaint-after-change-scroll-region.patch | 86 --- x11-libs/vte/files/vte-0.30.1-alt-meta.patch | 74 -- ...n-explicitly-to-honor-downstream-pyt.patch | 48 -- .../files/vte-0.66.2-musl-W_EXITCODE.patch | 29 - x11-libs/vte/vte-0.70.0.ebuild | 101 --- x11-libs/vte/vte-0.70.1.ebuild | 101 --- x11-terms/gnome-terminal/Manifest | 5 - ...erminal-3.44.1-fix-missing-wexitcode.patch | 21 - .../separate-new-tab-window.gschema.override | 2 - .../gnome-terminal-3.46.3.ebuild | 96 --- x11-wm/mutter/Manifest | 1 - ...ter-42.0-Disable-anonymous-file-test.patch | 30 - ...ive-Don-t-warn-on-EACCES-if-headless.patch | 79 -- ...ter-43.0-Disable-anonymous-file-test.patch | 27 - x11-wm/mutter/mutter-43.0_beta.ebuild | 210 ------ 52 files changed, 795 insertions(+), 1542 deletions(-) create mode 100644 dev-libs/feedbackd-device-themes/Manifest create mode 100644 dev-libs/feedbackd-device-themes/feedbackd-device-themes-0.0.20220523.ebuild create mode 100644 dev-libs/feedbackd-device-themes/metadata.xml delete mode 100644 gnome-extra/gnome-calendar/Manifest delete mode 100644 gnome-extra/gnome-calendar/gnome-calendar-43.0.ebuild rename gnome-extra/vvmplayer/{vvmplayer-1.5.ebuild => vvmplayer-2.0.0.ebuild} (93%) delete mode 100644 gui-libs/vte-common/Manifest delete mode 100644 gui-libs/vte-common/files/vte-common-0.70.0-musl-W_EXITCODE.patch delete mode 100644 gui-libs/vte-common/vte-common-0.70.1.ebuild delete mode 100755 gui-wm/gnome-mobile-meta/gnome-mobile-meta-1.0.ebuild delete mode 100644 media-libs/libshumate/Manifest delete mode 100644 media-libs/libshumate/libshumate-1.0.2.ebuild rename media-plugins/gst-plugins-hls/{gst-plugins-hls-1.20.2.ebuild => gst-plugins-hls-1.20.4.ebuild} (100%) delete mode 100755 media-sound/callaudiod/callaudiod-0.1.4.ebuild create mode 100644 media-sound/callaudiod/callaudiod-0.1.5.ebuild create mode 100644 media-sound/callaudiod/callaudiod-0.1.6.ebuild create mode 100644 media-video/megapixels/files/8721f29e27f21111c439ee45f4ea76b56017d016.patch rename media-video/megapixels/{megapixels-1.5.2.ebuild => megapixels-1.6.0.ebuild} (90%) rename net-im/chatty/{chatty-0.7.0_rc1.ebuild => chatty-0.7.0_rc4.ebuild} (92%) delete mode 100644 net-libs/libcloudproviders/Manifest delete mode 100644 net-libs/libcloudproviders/libcloudproviders-0.3.1.ebuild delete mode 100644 net-libs/rest/Manifest delete mode 100644 net-libs/rest/rest-0.9.1.ebuild rename net-misc/eg25-manager/{eg25-manager-0.4.5.ebuild => eg25-manager-0.4.6.ebuild} (94%) rename net-voip/gnome-calls/{gnome-calls-43.0.ebuild => gnome-calls-43.2.ebuild} (100%) rename net-voip/vvmd/{vvmd-0.10.ebuild => vvmd-0.13.ebuild} (100%) delete mode 100644 x11-libs/vte/Manifest delete mode 100644 x11-libs/vte/files/vte-0.28.2-interix.patch delete mode 100644 x11-libs/vte/files/vte-0.28.2-limit-arguments.patch delete mode 100644 x11-libs/vte/files/vte-0.28.2-repaint-after-change-scroll-region.patch delete mode 100644 x11-libs/vte/files/vte-0.30.1-alt-meta.patch delete mode 100644 x11-libs/vte/files/vte-0.64.1-meson-Find-python-explicitly-to-honor-downstream-pyt.patch delete mode 100644 x11-libs/vte/files/vte-0.66.2-musl-W_EXITCODE.patch delete mode 100644 x11-libs/vte/vte-0.70.0.ebuild delete mode 100644 x11-libs/vte/vte-0.70.1.ebuild delete mode 100644 x11-terms/gnome-terminal/Manifest delete mode 100644 x11-terms/gnome-terminal/files/gnome-terminal-3.44.1-fix-missing-wexitcode.patch delete mode 100644 x11-terms/gnome-terminal/files/separate-new-tab-window.gschema.override delete mode 100644 x11-terms/gnome-terminal/gnome-terminal-3.46.3.ebuild delete mode 100644 x11-wm/mutter/Manifest delete mode 100644 x11-wm/mutter/files/mutter-42.0-Disable-anonymous-file-test.patch delete mode 100644 x11-wm/mutter/files/mutter-42.4-backend-native-Don-t-warn-on-EACCES-if-headless.patch delete mode 100644 x11-wm/mutter/files/mutter-43.0-Disable-anonymous-file-test.patch delete mode 100644 x11-wm/mutter/mutter-43.0_beta.ebuild 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 -# // 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=" - !=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-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 -}