diff options
Diffstat (limited to 'meta-oe/recipes-gnome')
39 files changed, 948 insertions, 318 deletions
diff --git a/meta-oe/recipes-gnome/atk/atkmm-2.36_2.36.2.bb b/meta-oe/recipes-gnome/atk/atkmm-2.36_2.36.2.bb new file mode 100644 index 0000000000..fa47cbd48d --- /dev/null +++ b/meta-oe/recipes-gnome/atk/atkmm-2.36_2.36.2.bb @@ -0,0 +1,22 @@ +SUMMARY = "C++ bindings for the atk" +SECTION = "libs" + +LICENSE = "LGPL-2.1-only & GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1 \ + file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe" + +DEPENDS = "atk glibmm-2.68" + +GNOMEBN = "atkmm" + +inherit gnomebase features_check + +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" + +SRC_URI[archive.sha256sum] = "6f62dd99f746985e573605937577ccfc944368f606a71ca46342d70e1cdae079" + +S = "${WORKDIR}/${GNOMEBN}-${PV}" + +EXTRA_OEMESON = "-Dbuild-documentation=false" + +FILES:${PN}-dev += "${libdir}/*/include ${libdir}/*/proc/m4" diff --git a/meta-oe/recipes-gnome/atk/atkmm_2.28.0.bb b/meta-oe/recipes-gnome/atk/atkmm_2.28.0.bb deleted file mode 100644 index 63f4f09ba9..0000000000 --- a/meta-oe/recipes-gnome/atk/atkmm_2.28.0.bb +++ /dev/null @@ -1,19 +0,0 @@ -SUMMARY = "C++ bindings for the atk" -SECTION = "libs" - -LICENSE = "LGPLv2.1 & GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1 \ - file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe" - -DEPENDS = "atk glibmm" - -inherit distro_features_check gnome autotools pkgconfig - -REQUIRED_DISTRO_FEATURES = "x11" - -SRC_URI[archive.md5sum] = "6194ac577f15567adfa3c923944c6651" -SRC_URI[archive.sha256sum] = "4c4cfc917fd42d3879ce997b463428d6982affa0fb660cafcc0bc2d9afcedd3a" - -EXTRA_OECONF = " --disable-documentation " - -FILES_${PN}-dev += "${libdir}/*/include ${libdir}/*/proc/m4" diff --git a/meta-oe/recipes-gnome/atk/atkmm_2.28.2.bb b/meta-oe/recipes-gnome/atk/atkmm_2.28.2.bb new file mode 100644 index 0000000000..bc637470f9 --- /dev/null +++ b/meta-oe/recipes-gnome/atk/atkmm_2.28.2.bb @@ -0,0 +1,19 @@ +SUMMARY = "C++ bindings for the atk" +SECTION = "libs" + +LICENSE = "LGPL-2.1-only & GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1 \ + file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe" + +DEPENDS = "atk glibmm" + + +inherit gnomebase features_check + +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" + +SRC_URI[archive.sha256sum] = "a0bb49765ceccc293ab2c6735ba100431807d384ffa14c2ebd30e07993fd2fa4" + +EXTRA_OEMESON = "-Dbuild-documentation=false" + +FILES:${PN}-dev += "${libdir}/*/include ${libdir}/*/proc/m4" diff --git a/meta-oe/recipes-gnome/gcab/gcab/run-ptest b/meta-oe/recipes-gnome/gcab/gcab/run-ptest new file mode 100644 index 0000000000..0cdb48ea33 --- /dev/null +++ b/meta-oe/recipes-gnome/gcab/gcab/run-ptest @@ -0,0 +1,3 @@ +#! /bin/sh + +gnome-desktop-testing-runner libgcab diff --git a/meta-oe/recipes-gnome/gcab/gcab_1.6.bb b/meta-oe/recipes-gnome/gcab/gcab_1.6.bb new file mode 100644 index 0000000000..4278fc9453 --- /dev/null +++ b/meta-oe/recipes-gnome/gcab/gcab_1.6.bb @@ -0,0 +1,24 @@ +SUMMARY = "A GObject library to create cabinet files" +HOMEPAGE = "https://gitlab.gnome.org/GNOME/gcab" +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +DEPENDS = "glib-2.0" + +SRC_URI = "\ + ${GNOME_MIRROR}/gcab/${PV}/gcab-${PV}.tar.xz \ + file://run-ptest \ +" +SRC_URI[sha256sum] = "2f0c9615577c4126909e251f9de0626c3ee7a152376c15b5544df10fc87e560b" + +inherit gobject-introspection gtk-doc manpages meson ptest-gnome vala + +PACKAGECONFIG ??= "\ + ${@bb.utils.contains('USE_NLS', 'yes', 'nls', '', d)} \ + ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \ +" +PACKAGECONFIG[manpages] = "" +PACKAGECONFIG[nls] = "-Dnls=true,-Dnls=false" +PACKAGECONFIG[tests] = "-Dtests=true -Dinstalled_tests=true,-Dtests=false -Dinstalled_tests=false" + +BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-gnome/gcr/gcr3/0001-meson.build-correctly-handle-disabled-ssh_agent-opti.patch b/meta-oe/recipes-gnome/gcr/gcr3/0001-meson.build-correctly-handle-disabled-ssh_agent-opti.patch new file mode 100644 index 0000000000..2b2baf772e --- /dev/null +++ b/meta-oe/recipes-gnome/gcr/gcr3/0001-meson.build-correctly-handle-disabled-ssh_agent-opti.patch @@ -0,0 +1,34 @@ +From 2618ab101f5faaa887c9feeeee84a7d8bc97cbda Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex@linutronix.de> +Date: Wed, 16 Nov 2022 11:27:24 +0100 +Subject: [PATCH] meson.build: correctly handle disabled ssh_agent option + +Existing code produces these errors: +| gcr/meson.build:61:0: ERROR: Unable to get the path of a not-found external program +| gcr/meson.build:101:5: ERROR: Unknown variable "ssh_add_path". + +Signed-off-by: Alexander Kanavin <alex@linutronix.de> + +Upstream-Status: Backport [ https://gitlab.gnome.org/GNOME/gcr/-/commit/9b67bb18d8409e0e693cc6000507acbd73a30eab ] + +--- + meson.build | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/meson.build b/meson.build +index dd890a9..1b17b18 100644 +--- a/meson.build ++++ b/meson.build +@@ -82,8 +82,10 @@ conf.set('HAVE_TIMEGM', cc.has_function('timegm')) + conf.set('HAVE_MLOCK', cc.has_function('mlock')) + conf.set_quoted('GPG_EXECUTABLE', gpg_path) + conf.set_quoted('LIBGCRYPT_VERSION', libgcrypt_dep.version()) +-conf.set_quoted('SSH_ADD_EXECUTABLE', ssh_add_path) +-conf.set_quoted('SSH_AGENT_EXECUTABLE', ssh_agent_path) ++if get_option('ssh_agent') ++ conf.set_quoted('SSH_ADD_EXECUTABLE', ssh_add_path) ++ conf.set_quoted('SSH_AGENT_EXECUTABLE', ssh_agent_path) ++endif + conf.set10('WITH_SYSTEMD', with_systemd) + config_file = configure_file( + output: 'config.h', diff --git a/meta-oe/recipes-gnome/gcr/gcr3_3.41.2.bb b/meta-oe/recipes-gnome/gcr/gcr3_3.41.2.bb new file mode 100644 index 0000000000..0fd30f7424 --- /dev/null +++ b/meta-oe/recipes-gnome/gcr/gcr3_3.41.2.bb @@ -0,0 +1,61 @@ +SUMMARY = "A library for bits of crypto UI and parsing etc" +DESCRIPTION = "GCR is a library for displaying certificates, and crypto UI, \ +accessing key stores. It also provides the viewer for crypto files on the \ +GNOME desktop." +HOMEPAGE = "https://gitlab.gnome.org/GNOME/gcr" +BUGTRACKER = "https://gitlab.gnome.org/GNOME/gcr/issues" + +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605" + +DEPENDS = "p11-kit glib-2.0 libgcrypt gnupg-native \ + ${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'libxslt-native', '', d)}" + +CACHED_CONFIGUREVARS += "ac_cv_path_GPG='gpg2'" + +CFLAGS += "-D_GNU_SOURCE" + +GTKDOC_MESON_OPTION = "gtk_doc" +VALA_MESON_OPTION ?= '' + +inherit gnomebase gtk-icon-cache gi-docgen features_check upstream-version-is-even vala gobject-introspection gettext mime mime-xdg +UPSTREAM_CHECK_REGEX = "[^\d\.](?P<pver>3.(?!9\d+)\d+(\.\d+)+)\.tar" + +SRC_URI = "https://download.gnome.org/sources/gcr/3.41/gcr-${PV}.tar.xz;name=archive" +SRC_URI += "file://0001-meson.build-correctly-handle-disabled-ssh_agent-opti.patch" +SRC_URI[archive.sha256sum] = "bad10f3c553a0e1854649ab59c5b2434da22ca1a54ae6138f1f53961567e1ab7" + +S = "${WORKDIR}/gcr-${PV}" + +PACKAGECONFIG ??= " \ + ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'gtk', '', d)} \ +" +PACKAGECONFIG[gtk] = "-Dgtk=true,-Dgtk=false,gtk+3" +PACKAGECONFIG[ssh_agent] = "-Dssh_agent=true,-Dssh_agent=false,libsecret,openssh" +#'Use systemd socket activation for server programs' +PACKAGECONFIG[systemd] = "-Dsystemd=enabled,-Dsystemd=disabled,systemd" + +FILES:${PN} += " \ + ${datadir}/dbus-1 \ + ${datadir}/gcr-3 \ + ${datadir}/vala \ + ${systemd_user_unitdir}/gcr-ssh-agent.socket \ + ${systemd_user_unitdir}/gcr-ssh-agent.service \ +" + +# http://errors.yoctoproject.org/Errors/Details/20229/ +ARM_INSTRUCTION_SET:armv4 = "arm" +ARM_INSTRUCTION_SET:armv5 = "arm" +ARM_INSTRUCTION_SET:armv6 = "arm" + +EXTRA_OEMESON += "--cross-file ${WORKDIR}/meson-${PN}.cross" +do_write_config:append() { + cat >${WORKDIR}/meson-${PN}.cross <<EOF +[binaries] +gpg2 = '${bindir}/gpg2' +ssh-add = '${bindir}/ssh-add' +ssh-agent = '${bindir}/ssh-agent' +EOF +} diff --git a/meta-oe/recipes-gnome/gmime/gmime/iconv-detect.h b/meta-oe/recipes-gnome/gmime/gmime/iconv-detect.h new file mode 100644 index 0000000000..a899ce0ad4 --- /dev/null +++ b/meta-oe/recipes-gnome/gmime/gmime/iconv-detect.h @@ -0,0 +1,6 @@ +/* This is an auto-generated header, DO NOT EDIT! */ + +#define ICONV_ISO_INT_FORMAT "iso-%u-%u" +#define ICONV_ISO_STR_FORMAT "iso-%u-%s" +#define ICONV_10646 "iso-10646" +#define ICONV_SHIFT_JIS "shift-jis" diff --git a/meta-oe/recipes-gnome/gmime/gmime_3.2.13.bb b/meta-oe/recipes-gnome/gmime/gmime_3.2.13.bb new file mode 100644 index 0000000000..54b37912b2 --- /dev/null +++ b/meta-oe/recipes-gnome/gmime/gmime_3.2.13.bb @@ -0,0 +1,23 @@ +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" +DESCRIPTION = "Runtime libraries for parsing and creating MIME mail" +SECTION = "libs" + +DEPENDS = "glib-2.0 zlib" + +GNOMEBASEBUILDCLASS = "autotools" +inherit gnomebase gobject-introspection vala gtk-doc + +SRC_URI = "https://github.com/jstedfast/${BPN}/releases/download/${PV}/${BP}.tar.xz \ + file://iconv-detect.h \ +" +SRC_URI[sha256sum] = "2e10a54d4821daf8b16c019ad5d567e0fb8e766f8ffe5fec3d4c6a37373d6406" + +EXTRA_OECONF += "--enable-largefile" + +export ac_cv_have_iconv_detect_h="yes" +export ac_cv_sys_file_offset_bits="64" + +do_configure:append () { + cp ${UNPACKDIR}/iconv-detect.h ${S} +} diff --git a/meta-oe/recipes-gnome/gnome-common/gnome-common_3.18.0.bb b/meta-oe/recipes-gnome/gnome-common/gnome-common_3.18.0.bb index d874164540..9447470213 100644 --- a/meta-oe/recipes-gnome/gnome-common/gnome-common_3.18.0.bb +++ b/meta-oe/recipes-gnome/gnome-common/gnome-common_3.18.0.bb @@ -2,10 +2,11 @@ SUMMARY = "Common macros for building GNOME applications" HOMEPAGE = "http://www.gnome.org/" BUGTRACKER = "https://bugzilla.gnome.org/" -LICENSE = "GPLv2+" +LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" SECTION = "x11/gnome" +GNOMEBASEBUILDCLASS = "autotools" inherit gnomebase allarch SRC_URI[archive.md5sum] = "933258d9c23e218eb6eec9cc1951b053" @@ -16,9 +17,9 @@ DEPENDS = "" # Default to enable autoconf-archive to avoid conflicts PACKAGECONFIG ??= "autoconf-archive" -PACKAGECONFIG[autoconf-archive] = "--with-autoconf-archive, --without-autoconf-archive, autoconf-archive" +PACKAGECONFIG[autoconf-archive] = "--with-autoconf-archive, --without-autoconf-archive, autoconf-archive,autoconf-archive" -FILES_${PN} += "${datadir}/aclocal" -FILES_${PN}-dev = "" +FILES:${PN} += "${datadir}/aclocal" +FILES:${PN}-dev = "" BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-gnome/gnome-doc-utils-stub/gnome-doc-utils-stub_1.0.bb b/meta-oe/recipes-gnome/gnome-doc-utils-stub/gnome-doc-utils-stub_1.0.bb index d6da51b0de..1cfd9c1cba 100644 --- a/meta-oe/recipes-gnome/gnome-doc-utils-stub/gnome-doc-utils-stub_1.0.bb +++ b/meta-oe/recipes-gnome/gnome-doc-utils-stub/gnome-doc-utils-stub_1.0.bb @@ -2,17 +2,17 @@ SUMMARY = "Stub implementation of gnome-doc-utils" DESCRIPTION = "This recipe provides m4 macros from gnome-doc-utils project, so \ that dependent recipes can build. Gnome-doc-utils itself is no longer packaged because \ it requires libxml2 and python 2 at the same time, which can no longer be satisfied. " -LICENSE = "GPLv2 & LGPLv2.1" -LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6 \ - file://${COREBASE}/meta/files/common-licenses/LGPL-2.1;md5=1a6d268fd218675ffea8be556788b780" +LICENSE = "GPL-2.0-only & LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6 \ + file://${COREBASE}/meta/files/common-licenses/LGPL-2.1-only;md5=1a6d268fd218675ffea8be556788b780" SRC_URI = "file://gnome-doc-utils.m4" PROVIDES = "gnome-doc-utils" -do_install_append() { +do_install:append() { install -d ${D}${datadir}/aclocal/ - install ${WORKDIR}/gnome-doc-utils.m4 ${D}${datadir}/aclocal/ + install ${UNPACKDIR}/gnome-doc-utils.m4 ${D}${datadir}/aclocal/ } -FILES_${PN} += "${datadir}" +FILES:${PN} += "${datadir}" diff --git a/meta-oe/recipes-gnome/gnome-themes/adw-gtk3_5.3.bb b/meta-oe/recipes-gnome/gnome-themes/adw-gtk3_5.3.bb new file mode 100644 index 0000000000..1ddc277651 --- /dev/null +++ b/meta-oe/recipes-gnome/gnome-themes/adw-gtk3_5.3.bb @@ -0,0 +1,16 @@ +SUMMARY = "An unofficial GTK3 port of libadwaita." +HOMEPAGE = "http://github.com/lassekongo83/adw-gtk3" +SECTION = "graphics" +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://LICENSE;md5=1803fa9c2c3ce8cb06b4861d75310742" + +DEPENDS = "sassc-native" + +inherit meson + +SRC_URI = "git://github.com/lassekongo83/adw-gtk3.git;protocol=https;branch=main" + +S = "${WORKDIR}/git" +SRCREV = "22a3b9374369640993e4a7ab84f8acc72318e501" + +FILES:${PN} = "${datadir}/themes" diff --git a/meta-oe/recipes-gnome/gnome-themes/gnome-themes-extra_3.28.bb b/meta-oe/recipes-gnome/gnome-themes/gnome-themes-extra_3.28.bb new file mode 100644 index 0000000000..3456383c3a --- /dev/null +++ b/meta-oe/recipes-gnome/gnome-themes/gnome-themes-extra_3.28.bb @@ -0,0 +1,46 @@ +SUMMARY = "GTK+2 standard themes" +HOMEPAGE = "http://ftp.gnome.org/pub/GNOME/sources/gnome-themes-standard/" +BUGTRACKER = "https://bugzilla.gnome.org/" +SECTION = "x11/gnome" + +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://LICENSE;md5=2d5025d4aa3495befef8f17206a5b0a1" + +GNOMEBASEBUILDCLASS = "autotools" +GTKIC_VERSION = '3' +inherit gnomebase gettext gtk-icon-cache upstream-version-is-even features_check + +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" + +DEPENDS += "intltool-native gtk+3 librsvg" + +# PV is 3.28 not 3.28.0, so the gnomebase SRC_URI isn't right. +SRC_URI = "${GNOME_MIRROR}/${BPN}/${PV}/${BPN}-${PV}.tar.xz;name=archive" +SRC_URI[archive.md5sum] = "f9f2c6c521948da427f702372e16f826" +SRC_URI[archive.sha256sum] = "7c4ba0bff001f06d8983cfc105adaac42df1d1267a2591798a780bac557a5819" + +EXTRA_OECONF = "--disable-gtk2-engine" + +do_install:append() { + # Only building Adwaita, remove highcontrast files + rm -rf ${D}${datadir}/themes/HighContrast \ + ${D}${datadir}/icons + + # The libtool archive file is unneeded with shared libs on modern Linux + rm -rf ${D}${libdir}/gtk-2.0/2.10.0/engines/libadwaita.la +} + +# There could be gnome-theme-highcontrast as well but that requires +# gtk+3 and includes lots of icons (is also broken with B != S). +PACKAGES += "gnome-theme-adwaita \ + gnome-theme-adwaita-dark \ + " + +FILES:gnome-theme-adwaita = "${datadir}/themes/Adwaita \ + ${libdir}/gtk-2.0/2.10.0/engines/libadwaita.so" + +FILES:gnome-theme-adwaita-dark = "${datadir}/themes/Adwaita-dark" +RDEPENDS:gnome-theme-adwaita-dark = "gnome-theme-adwaita" + +# gnome-themes-standard is empty and doesn't exist +RDEPENDS:${PN}-dev = "" diff --git a/meta-oe/recipes-gnome/gtk+/files/0001-do-not-build-demos.patch b/meta-oe/recipes-gnome/gtk+/files/0001-do-not-build-demos.patch deleted file mode 100644 index 176e979982..0000000000 --- a/meta-oe/recipes-gnome/gtk+/files/0001-do-not-build-demos.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 6914eccee34376f9067b0ee9f17039fe182125e8 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> -Date: Sat, 31 Mar 2018 22:29:16 +0200 -Subject: [PATCH] do not build demos -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -They are not installed anyway and add libepoxy dependency - -Upstream-Status: Pending - -Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> ---- - Makefile.am | 3 ++- - configure.ac | 3 --- - 2 files changed, 2 insertions(+), 4 deletions(-) - -diff --git a/Makefile.am b/Makefile.am -index 984b6a7..6c754a6 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -28,7 +28,8 @@ doc_subdirs = docs - else - doc_subdirs = - endif --SUBDIRS = tools $(src_subdirs) gdk/gdkmm gtk/gtkmm tests demos $(doc_subdirs) -+ -+SUBDIRS = tools $(src_subdirs) gdk/gdkmm gtk/gtkmm tests $(doc_subdirs) - - gdkmm_includedir = $(includedir)/$(GDKMM_MODULE_NAME) - gdkmm_include_HEADERS = gdk/gdkmm.h -diff --git a/configure.ac b/configure.ac -index e5e82dc..c1c7658 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -109,11 +109,8 @@ AS_IF([test "x$gtkmm_enable_api_atkmm" != xno], - [GTKMM_MODULES="atkmm-1.6 >= 2.24.2 $GTKMM_MODULES"]) - AC_SUBST([GTKMM_MODULES]) - --AC_SUBST([GTKMM_DEMOS_EXTRA_MODULES], ['epoxy >= 1.2']) -- - PKG_CHECK_MODULES([GDKMM], [$GDKMM_MODULES]) - PKG_CHECK_MODULES([GTKMM], [$GTKMM_MODULES]) --PKG_CHECK_MODULES([GTKMM_DEMOS_EXTRA], [$GTKMM_DEMOS_EXTRA_MODULES]) - - MM_PKG_CONFIG_SUBST([GTHREAD_CFLAGS], [--cflags-only-other gthread-2.0]) - MM_PKG_CONFIG_SUBST([GTHREAD_LIBS], [--libs gthread-2.0]) --- -2.14.3 - diff --git a/meta-oe/recipes-gnome/gtk+/gtk+.inc b/meta-oe/recipes-gnome/gtk+/gtk+.inc new file mode 100644 index 0000000000..f2af7c920e --- /dev/null +++ b/meta-oe/recipes-gnome/gtk+/gtk+.inc @@ -0,0 +1,107 @@ +SUMMARY = "Multi-platform toolkit for creating GUIs" +DESCRIPTION = "GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete \ +set of widgets, GTK+ is suitable for projects ranging from small one-off projects to complete application suites." +HOMEPAGE = "http://www.gtk.org" +BUGTRACKER = "https://bugzilla.gnome.org/" + +LICENSE = "LGPL-2.0-only & LGPL-2.0-or-later & LGPL-2.1-or-later" + +LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7" + +SECTION = "libs" + +inherit features_check +ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}" + +# This picks stable releases in the 2.x series (but not 2.90 onwards, +# which were GNOME 3 betas). +UPSTREAM_CHECK_REGEX = "(?P<pver>2\.([0-8]*[02468])+(\.\d+)+)" + +X11DEPENDS = "virtual/libx11 libxext libxcursor libxrandr libxdamage libxrender libxcomposite" +DEPENDS = "glib-2.0 pango atk jpeg libpng gdk-pixbuf-native \ + cairo gdk-pixbuf" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'directfb x11', d)}" + +PACKAGECONFIG[x11] = "--with-x=yes --with-gdktarget=x11,--with-x=no,${X11DEPENDS}" +# without --with-gdktarget=directfb it will check for cairo-xlib which isn't available without X11 DISTRO_FEATURE +PACKAGECONFIG[directfb] = "--with-gdktarget=directfb,,directfb" +PACKAGECONFIG[manpages] = "--enable-man --with-xml-catalog=${STAGING_ETCDIR_NATIVE}/xml/catalog, --disable-man, libxslt-native xmlto-native" + +inherit autotools gtk-doc pkgconfig update-alternatives gtk-immodules-cache gobject-introspection manpages + +PACKAGES += "libgail gtk-demo" + +FILES:${PN} += "${bindir}/gtk-update-icon-cache-2.0 \ + ${bindir}/gtk-query-immodules-2.0 \ + ${datadir}/themes ${sysconfdir} \ + ${libdir}/gtk-2.0/${LIBV}/engines/libpixmap.so" + +FILES:${PN}-dev += " \ + ${datadir}/gtk-2.0/include \ + ${libdir}/gtk-2.0/include \ + ${libdir}/gtk-2.0/modules/*.la \ + ${libdir}/gtk-2.0/${LIBV}/loaders/*.la \ + ${libdir}/gtk-2.0/${LIBV}/immodules/*.la \ + ${libdir}/gtk-2.0/${LIBV}/printbackends/*.la \ + ${libdir}/gtk-2.0/${LIBV}/engines/*.la \ + ${bindir}/gtk-builder-convert" + +FILES:gtk-demo = " \ + ${datadir}/gtk-2.0/demo/* \ + ${bindir}/gtk-demo \ + " + +FILES:libgail = " \ + ${libdir}/gtk-2.0/modules/libgail.so \ + ${libdir}/gtk-2.0/modules/libferret.so \ + " + +GTKBASE_RRECOMMENDS ?= "liberation-fonts \ + gdk-pixbuf-loader-png \ + gdk-pixbuf-loader-jpeg \ + gdk-pixbuf-loader-gif \ + gdk-pixbuf-loader-xpm \ + shared-mime-info \ + gnome-theme-adwaita \ + " +GTKGLIBC_RRECOMMENDS ?= "${GTKBASE_RRECOMMENDS} glibc-gconv-iso8859-1" + +RRECOMMENDS:${PN} = "${GTKBASE_RRECOMMENDS}" +RRECOMMENDS:${PN}:libc-glibc = "${GTKGLIBC_RRECOMMENDS}" + +ALTERNATIVE:${PN} = "gtk-update-icon-cache" +ALTERNATIVE_TARGET[gtk-update-icon-cache] = "${bindir}/gtk-update-icon-cache-2.0" + +do_compile:prepend() { + export GIR_EXTRA_LIBS_PATH="${B}/gdk/.libs" +} + +do_install () { + autotools_do_install + + install -d ${D}${sysconfdir}/gtk-2.0 + + mkdir -p ${D}${libdir}/gtk-2.0/include + install -m 0644 gdk/gdkconfig.h ${D}${libdir}/gtk-2.0/include/gdkconfig.h + + install -m 0644 ${S}/gtk/gtkfilechooserprivate.h ${D}${includedir}/gtk-2.0/gtk/ + install -m 0644 ${S}/gtk/gtkfilechooserutils.h ${D}${includedir}/gtk-2.0/gtk/ + install -m 0644 ${S}/gtk/gtkfilesystemmodel.h ${D}${includedir}/gtk-2.0/gtk/ + + mv ${D}${bindir}/gtk-update-icon-cache ${D}${bindir}/gtk-update-icon-cache-2.0 + + # duplicate gtk-query-immodules for post install script update_gtk_immodules_cache + mkdir -p ${D}${libexecdir} + ln ${D}${bindir}/gtk-query-immodules-2.0 ${D}${libexecdir}/${MLPREFIX}gtk-query-immodules-2.0 +} + +SYSROOT_PREPROCESS_FUNCS += "gtk_sysroot_preprocess" + +gtk_sysroot_preprocess () { + if [ -e ${D}${bindir}/gtk-builder-convert ]; then + install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/ + install -m 755 ${D}${bindir}/gtk-builder-convert ${SYSROOT_DESTDIR}${bindir_crossscripts}/ + fi +} + diff --git a/meta-oe/recipes-gnome/gtk+/gtk+/0001-Do-not-look-into-HOME-when-looking-for-gtk-modules.patch b/meta-oe/recipes-gnome/gtk+/gtk+/0001-Do-not-look-into-HOME-when-looking-for-gtk-modules.patch new file mode 100644 index 0000000000..83be39c3bf --- /dev/null +++ b/meta-oe/recipes-gnome/gtk+/gtk+/0001-Do-not-look-into-HOME-when-looking-for-gtk-modules.patch @@ -0,0 +1,29 @@ +From 34ce93e1c50bfb88f92a687d4f82de55584f3f6a Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Wed, 11 Apr 2018 14:20:39 +0300 +Subject: [PATCH] Do not look into $HOME when looking for gtk modules + +On the host it causes host contamination, on the target it's a +potential security issue. Gtk+3 has already removed this. + +Upstream-Status: Inappropriate [gtk2 is in maintenance mode] +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + gtk/gtkmodules.c | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/gtk/gtkmodules.c b/gtk/gtkmodules.c +index 50729b6..e09b583 100644 +--- a/gtk/gtkmodules.c ++++ b/gtk/gtkmodules.c +@@ -65,10 +65,6 @@ get_module_path (void) + if (result) + return result; + +- home_dir = g_get_home_dir(); +- if (home_dir) +- home_gtk_dir = g_build_filename (home_dir, ".gtk-2.0", NULL); +- + module_path_env = g_getenv ("GTK_PATH"); + exe_prefix = g_getenv ("GTK_EXE_PREFIX"); + diff --git a/meta-oe/recipes-gnome/gtk+/gtk+/0001-Fix-signature-of-create_menu-function.patch b/meta-oe/recipes-gnome/gtk+/gtk+/0001-Fix-signature-of-create_menu-function.patch new file mode 100644 index 0000000000..6b5f928391 --- /dev/null +++ b/meta-oe/recipes-gnome/gtk+/gtk+/0001-Fix-signature-of-create_menu-function.patch @@ -0,0 +1,50 @@ +From a703e2406fda3dc150574ae2f90cb5f4810d0601 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 29 Aug 2022 00:25:19 -0700 +Subject: [PATCH] Fix signature of create_menu() function + +Upstream-Status: Inappropriate [EOL] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + tests/testmenubars.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/tests/testmenubars.c b/tests/testmenubars.c +index 416a939..7f247f8 100644 +--- a/tests/testmenubars.c ++++ b/tests/testmenubars.c +@@ -21,7 +21,7 @@ + #include <gtk/gtk.h> + + static GtkWidget * +-create_menu (depth) ++create_menu (int depth) + { + GtkWidget *menu; + GtkWidget *menuitem; +@@ -70,19 +70,19 @@ create_menubar (GtkPackDirection pack_dir, + menuitem = gtk_image_menu_item_new_from_stock (GTK_STOCK_HOME, NULL); + gtk_menu_shell_append (GTK_MENU_SHELL (menubar), menuitem); + gtk_label_set_angle (GTK_LABEL (GTK_BIN (menuitem)->child), angle); +- menu = create_menu (2, TRUE); ++ menu = create_menu (2); + gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), menu); + + menuitem = gtk_menu_item_new_with_label ("foo"); + gtk_menu_shell_append (GTK_MENU_SHELL (menubar), menuitem); + gtk_label_set_angle (GTK_LABEL (GTK_BIN (menuitem)->child), angle); +- menu = create_menu (2, TRUE); ++ menu = create_menu (2); + gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), menu); + + menuitem = gtk_menu_item_new_with_label ("bar"); + gtk_menu_shell_append (GTK_MENU_SHELL (menubar), menuitem); + gtk_label_set_angle (GTK_LABEL (GTK_BIN (menuitem)->child), angle); +- menu = create_menu (2, TRUE); ++ menu = create_menu (2); + gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), menu); + + return menubar; +-- +2.37.2 + diff --git a/meta-oe/recipes-gnome/gtk+/gtk+/doc-fixes.patch b/meta-oe/recipes-gnome/gtk+/gtk+/doc-fixes.patch new file mode 100644 index 0000000000..74e479fd1b --- /dev/null +++ b/meta-oe/recipes-gnome/gtk+/gtk+/doc-fixes.patch @@ -0,0 +1,22 @@ +There are issues building the gtk+ tutorial and faq documentation. +Since they were removed in gtk+ upstream and are superfluous in +embedded applications, just don't build them. + +Thanks to Joshua Lock for suggesting this approach. + +Signed-off-by: Scott Garman <scott.a.garman@intel.com> + +Upstream-Status: Inappropriate [embedded specific] + +diff -urN gtk+-2.22.1.orig/docs/Makefile.am gtk+-2.22.1/docs/Makefile.am +--- gtk+-2.22.1.orig/docs/Makefile.am 2010-11-15 04:13:09.000000000 -0800 ++++ gtk+-2.22.1/docs/Makefile.am 2011-02-23 19:25:16.914815097 -0800 +@@ -1,7 +1,7 @@ + ## Process this file with automake to produce Makefile.in + include $(top_srcdir)/Makefile.decl + +-SUBDIRS = tutorial faq reference tools ++SUBDIRS = reference tools + + EXTRA_DIST += \ + defsformat.txt \ diff --git a/meta-oe/recipes-gnome/gtk+/gtk+/strict-prototypes.patch b/meta-oe/recipes-gnome/gtk+/gtk+/strict-prototypes.patch new file mode 100644 index 0000000000..96e1f5feac --- /dev/null +++ b/meta-oe/recipes-gnome/gtk+/gtk+/strict-prototypes.patch @@ -0,0 +1,24 @@ +Fixes + +include/gtk-2.0/gtk/gtkitemfactory.h:47:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] + typedef void (*GtkItemFactoryCallback) (); + +gcc5 has -Wstrict-prototypes on by default for -Werror so this becomes a build failure for consumers +of this header e.g. matchbox-panel-2 + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Index: gtk+-2.24.27/gtk/gtkitemfactory.h +=================================================================== +--- gtk+-2.24.27.orig/gtk/gtkitemfactory.h ++++ gtk+-2.24.27/gtk/gtkitemfactory.h +@@ -44,7 +44,7 @@ typedef void (*GtkPrintFunc) (gpoint + * (Note that if we are included from a C++ program () will mean + * (void) so an explicit cast will be needed.) + */ +-typedef void (*GtkItemFactoryCallback) (); ++typedef void (*GtkItemFactoryCallback) (void); + typedef void (*GtkItemFactoryCallback1) (gpointer callback_data, + guint callback_action, + GtkWidget *widget); diff --git a/meta-oe/recipes-gnome/gtk+/gtk+/toggle-font.diff b/meta-oe/recipes-gnome/gtk+/gtk+/toggle-font.diff new file mode 100644 index 0000000000..340d12008b --- /dev/null +++ b/meta-oe/recipes-gnome/gtk+/gtk+/toggle-font.diff @@ -0,0 +1,102 @@ +Upstream-Status: Pending + +Index: gtk/gtkcellrenderertoggle.c +=================================================================== +--- gtk/gtkcellrenderertoggle.c.orig 2010-06-22 18:11:33.000000000 +0800 ++++ gtk/gtkcellrenderertoggle.c 2010-06-22 18:11:43.000000000 +0800 +@@ -71,6 +71,8 @@ + PROP_INDICATOR_SIZE + }; + ++/* This is a hard-coded default which promptly gets overridden by a size ++ calculated from the font size. */ + #define TOGGLE_WIDTH 13 + + static guint toggle_cell_signals[LAST_SIGNAL] = { 0 }; +@@ -80,8 +82,9 @@ + typedef struct _GtkCellRendererTogglePrivate GtkCellRendererTogglePrivate; + struct _GtkCellRendererTogglePrivate + { +- gint indicator_size; +- ++ gint indicator_size; /* This is the real size */ ++ gint override_size; /* This is the size set from the indicator-size property */ ++ GtkWidget *cached_widget; + guint inconsistent : 1; + }; + +@@ -104,6 +107,7 @@ + GTK_CELL_RENDERER (celltoggle)->ypad = 2; + + priv->indicator_size = TOGGLE_WIDTH; ++ priv->override_size = 0; + priv->inconsistent = FALSE; + } + +@@ -210,7 +214,7 @@ + g_value_set_boolean (value, celltoggle->radio); + break; + case PROP_INDICATOR_SIZE: +- g_value_set_int (value, priv->indicator_size); ++ g_value_set_int (value, priv->override_size ? priv->override_size : priv->indicator_size); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); +@@ -245,7 +249,7 @@ + celltoggle->radio = g_value_get_boolean (value); + break; + case PROP_INDICATOR_SIZE: +- priv->indicator_size = g_value_get_int (value); ++ priv->override_size = g_value_get_int (value); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); +@@ -273,6 +277,27 @@ + } + + static void ++on_widget_style_set (GtkWidget *widget, GtkStyle *previous, gpointer user_data) ++{ ++ GtkCellRendererTogglePrivate *priv = user_data; ++ PangoContext *context; ++ PangoFontMetrics *metrics; ++ int height; ++ ++ context = gtk_widget_get_pango_context (widget); ++ metrics = pango_context_get_metrics (context, ++ widget->style->font_desc, ++ pango_context_get_language (context)); ++ ++ height = pango_font_metrics_get_ascent (metrics) + ++ pango_font_metrics_get_descent (metrics); ++ ++ pango_font_metrics_unref (metrics); ++ ++ priv->indicator_size = PANGO_PIXELS (height * 0.85); ++} ++ ++static void + gtk_cell_renderer_toggle_get_size (GtkCellRenderer *cell, + GtkWidget *widget, + GdkRectangle *cell_area, +@@ -287,6 +312,20 @@ + + priv = GTK_CELL_RENDERER_TOGGLE_GET_PRIVATE (cell); + ++ if (priv->override_size) { ++ priv->indicator_size = priv->override_size; ++ } else if (priv->cached_widget != widget) { ++ if (priv->cached_widget) { ++ g_object_remove_weak_pointer (widget, &priv->cached_widget); ++ g_signal_handlers_disconnect_by_func (priv->cached_widget, on_widget_style_set, priv); ++ } ++ priv->cached_widget = widget; ++ g_object_add_weak_pointer (widget, &priv->cached_widget); ++ g_signal_connect (widget, "style-set", on_widget_style_set, priv); ++ ++ on_widget_style_set (widget, NULL, priv); ++ } ++ + calc_width = (gint) cell->xpad * 2 + priv->indicator_size; + calc_height = (gint) cell->ypad * 2 + priv->indicator_size; + diff --git a/meta-oe/recipes-gnome/gtk+/gtk+/xsettings.patch b/meta-oe/recipes-gnome/gtk+/gtk+/xsettings.patch new file mode 100644 index 0000000000..d0a970ad4d --- /dev/null +++ b/meta-oe/recipes-gnome/gtk+/gtk+/xsettings.patch @@ -0,0 +1,20 @@ +Upstream-Status: Pending + +Index: gtk+-2.21.2/gdk/x11/gdkevents-x11.c +=================================================================== +--- gtk+-2.21.2.orig/gdk/x11/gdkevents-x11.c 2010-06-22 17:28:04.000000000 +0800 ++++ gtk+-2.21.2/gdk/x11/gdkevents-x11.c 2010-06-22 17:28:06.000000000 +0800 +@@ -3062,10 +3062,9 @@ + { + GdkScreenX11 *screen = data; + +- if (xsettings_client_process_event (screen->xsettings_client, (XEvent *)xevent)) +- return GDK_FILTER_REMOVE; +- else +- return GDK_FILTER_CONTINUE; ++ xsettings_client_process_event (screen->xsettings_client, (XEvent *)xevent); ++ ++ return GDK_FILTER_CONTINUE; + } + + static Bool diff --git a/meta-oe/recipes-gnome/gtk+/gtk+_2.24.33.bb b/meta-oe/recipes-gnome/gtk+/gtk+_2.24.33.bb new file mode 100644 index 0000000000..74b0531414 --- /dev/null +++ b/meta-oe/recipes-gnome/gtk+/gtk+_2.24.33.bb @@ -0,0 +1,36 @@ +require gtk+.inc + +LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \ + file://gtk/gtk.h;endline=27;md5=c59e0b4490dd135a5726ebf851f9b17f \ + file://gdk/gdk.h;endline=27;md5=07db285ec208fb3e0bf7d861b0614202 \ + file://tests/testgtk.c;endline=27;md5=262db5db5f776f9863e56df31423e24c" +SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk+/2.24/gtk+-${PV}.tar.xz \ + file://xsettings.patch \ + file://toggle-font.diff;striplevel=0 \ + file://doc-fixes.patch \ + file://strict-prototypes.patch \ + file://0001-Do-not-look-into-HOME-when-looking-for-gtk-modules.patch \ + file://0001-Fix-signature-of-create_menu-function.patch \ + " + +SRC_URI[sha256sum] = "ac2ac757f5942d318a311a54b0c80b5ef295f299c2a73c632f6bfb1ff49cc6da" + +EXTRA_OECONF = "--enable-xkb --disable-glibtest --disable-cups --disable-xinerama" + +LIBV = "2.10.0" + +PACKAGES_DYNAMIC += "^gtk-immodule-.* ^gtk-printbackend-.*" + +python populate_packages:prepend () { + gtk_libdir = d.expand('${libdir}/gtk-2.0/${LIBV}') + immodules_root = os.path.join(gtk_libdir, 'immodules') + printmodules_root = os.path.join(gtk_libdir, 'printbackends'); + + d.setVar('GTKIMMODULES_PACKAGES', ' '.join(do_split_packages(d, immodules_root, r'^im-(.*)\.so$', 'gtk-immodule-%s', 'GTK input module for %s'))) + do_split_packages(d, printmodules_root, r'^libprintbackend-(.*)\.so$', 'gtk-printbackend-%s', 'GTK printbackend module for %s') + + if (d.getVar('DEBIAN_NAMES')): + d.setVar(d.expand('PKG:${PN}'), '${MLPREFIX}libgtk-2.0') +} + +CFLAGS += "-Wno-error=incompatible-pointer-types" diff --git a/meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.1.bb b/meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.1.bb deleted file mode 100644 index 6dd0513376..0000000000 --- a/meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.1.bb +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "C++ bindings for the GTK+ toolkit V3" -HOMEPAGE = "http://www.gtkmm.org/" -SECTION = "libs" - -LICENSE = "LGPLv2.1 & GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \ - file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe" - -DEPENDS = "atkmm pangomm glibmm gtk+3 cairomm" - -BPN = "gtkmm" - -inherit gnomebase distro_features_check - -REQUIRED_DISTRO_FEATURES = "x11" - -SRC_URI[archive.md5sum] = "9524ed4e5c821d13eeda49ba2a78f024" -SRC_URI[archive.sha256sum] = "ddfe42ed2458a20a34de252854bcf4b52d3f0c671c045f56b42aa27c7542d2fd" -SRC_URI += "file://0001-do-not-build-demos.patch" - -EXTRA_OECONF = " --disable-documentation " - -FILES_${PN}-dev += "${libdir}/*/include ${libdir}/*/proc/m4" diff --git a/meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.7.bb b/meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.7.bb new file mode 100644 index 0000000000..cac6474e73 --- /dev/null +++ b/meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.7.bb @@ -0,0 +1,22 @@ +SUMMARY = "C++ bindings for the GTK+ toolkit V3" +HOMEPAGE = "http://www.gtkmm.org/" +SECTION = "libs" + +LICENSE = "LGPL-2.1-only & GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \ + file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe" + +DEPENDS = "glib-2.0-native atkmm pangomm glibmm gtk+3 cairomm gdk-pixbuf-native" + +BPN = "gtkmm" + + +inherit gnomebase features_check + +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" + +SRC_URI[archive.sha256sum] = "1d7a35af9c5ceccacb244ee3c2deb9b245720d8510ac5c7e6f4b6f9947e6789c" + +EXTRA_OEMESON = "-Dbuild-demos=false" + +FILES:${PN}-dev += "${libdir}/*/include ${libdir}/*/proc/m4" diff --git a/meta-oe/recipes-gnome/gtk+/gtkmm4_4.14.0.bb b/meta-oe/recipes-gnome/gtk+/gtkmm4_4.14.0.bb new file mode 100644 index 0000000000..d3a01e444c --- /dev/null +++ b/meta-oe/recipes-gnome/gtk+/gtkmm4_4.14.0.bb @@ -0,0 +1,21 @@ +SUMMARY = "C++ bindings for the GTK+ toolkit V4" +HOMEPAGE = "http://www.gtkmm.org/" +SECTION = "libs" + +LICENSE = "LGPL-2.1-only & GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \ + file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe" + +DEPENDS = "glib-2.0-native atkmm pangomm-2.48 glibmm gtk4 cairomm-1.16 gdk-pixbuf-native" + +BPN = "gtkmm" + +inherit gnomebase features_check + +REQUIRED_DISTRO_FEATURES = "opengl x11" + +SRC_URI[archive.sha256sum] = "9350a0444b744ca3dc69586ebd1b6707520922b6d9f4f232103ce603a271ecda" + +EXTRA_OEMESON = "-Dbuild-demos=false" + +FILES:${PN}-dev += "${libdir}/*/include ${libdir}/*/proc/m4" diff --git a/meta-oe/recipes-gnome/gtk+/gtkmm_2.24.5.bb b/meta-oe/recipes-gnome/gtk+/gtkmm_2.24.5.bb index b780d09bc3..87b0f5e65d 100644 --- a/meta-oe/recipes-gnome/gtk+/gtkmm_2.24.5.bb +++ b/meta-oe/recipes-gnome/gtk+/gtkmm_2.24.5.bb @@ -2,13 +2,14 @@ SUMMARY = "C++ bindings for the GTK+ toolkit" HOMEPAGE = "http://www.gtkmm.org/" SECTION = "libs" -LICENSE = "LGPLv2.1 & GPLv2" +LICENSE = "LGPL-2.1-only & GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499 \ file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe" DEPENDS = "atkmm pangomm glibmm gtk+ cairomm" -inherit gnomebase distro_features_check +GNOMEBASEBUILDCLASS = "autotools" +inherit gnomebase features_check REQUIRED_DISTRO_FEATURES = "x11" @@ -17,4 +18,4 @@ SRC_URI[archive.sha256sum] = "0680a53b7bf90b4e4bf444d1d89e6df41c777e0bacc96e9c09 EXTRA_OECONF = " --disable-documentation " -FILES_${PN}-dev += "${libdir}/*/include ${libdir}/*/proc/m4" +FILES:${PN}-dev += "${libdir}/*/include ${libdir}/*/proc/m4" diff --git a/meta-oe/recipes-gnome/libjcat/libjcat/run-ptest b/meta-oe/recipes-gnome/libjcat/libjcat/run-ptest new file mode 100644 index 0000000000..14980a7d06 --- /dev/null +++ b/meta-oe/recipes-gnome/libjcat/libjcat/run-ptest @@ -0,0 +1,3 @@ +#! /bin/sh + +gnome-desktop-testing-runner libjcat diff --git a/meta-oe/recipes-gnome/libjcat/libjcat_0.2.1.bb b/meta-oe/recipes-gnome/libjcat/libjcat_0.2.1.bb new file mode 100644 index 0000000000..2d95e14447 --- /dev/null +++ b/meta-oe/recipes-gnome/libjcat/libjcat_0.2.1.bb @@ -0,0 +1,34 @@ +SUMMARY = "Library for reading and writing Jcat files" +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://LICENSE;md5=1803fa9c2c3ce8cb06b4861d75310742" + +DEPENDS = "\ + glib-2.0 \ + json-glib \ +" + +SRC_URI = "\ + git://github.com/hughsie/libjcat.git;branch=main;protocol=https \ + file://run-ptest \ +" +SRCREV = "869e7cf4511b81897512a3f0adb627218e618112" +S = "${WORKDIR}/git" + +inherit gobject-introspection gtk-doc meson ptest-gnome vala lib_package + +PACKAGECONFIG ??= "\ + gpg \ + pkcs7 \ + ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \ +" +PACKAGECONFIG[gpg] = "-Dgpg=true,-Dgpg=false,gpgme" +PACKAGECONFIG[pkcs7] = "-Dpkcs7=true,-Dpkcs7=false,gnutls gnutls-native" +PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false" + +# manpage generation is broken because help2man needs to run the target binary on the host... +EXTRA_OEMESON = "-Dman=false" +GTKDOC_MESON_OPTION = "gtkdoc" + +RDEPENDS:${PN}:class-target = "\ + ${@bb.utils.contains('PACKAGECONFIG', 'gpg', 'gnupg', '', d)} \ +" diff --git a/meta-oe/recipes-gnome/libpeas/libpeas/0001-Remove-builddir-and-srcdir-paths-from-test-binaries.patch b/meta-oe/recipes-gnome/libpeas/libpeas/0001-Remove-builddir-and-srcdir-paths-from-test-binaries.patch new file mode 100644 index 0000000000..6bb48777ec --- /dev/null +++ b/meta-oe/recipes-gnome/libpeas/libpeas/0001-Remove-builddir-and-srcdir-paths-from-test-binaries.patch @@ -0,0 +1,82 @@ +From d798af685e9e1166400acbdab082c17b02dad85b Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Thu, 18 May 2023 23:28:10 -0700 +Subject: [PATCH] Remove builddir and srcdir paths from test binaries + +Encoding buildtime paths is not needed since if these tests are to be +run they will be run on target where builddir structure most certainly +wont be available. + +Fixes +WARNING: libpeas-1.36.0-r0 do_package_qa: QA Issue: File /usr/bin/peas-demo in package libpeas-demo contains reference to TMPDIR [buildpaths] + +Upstream-Status: Inappropriate [Cross-compile specific] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + peas-demo/meson.build | 2 +- + tests/libpeas-gtk/testing/meson.build | 4 ++-- + tests/libpeas/testing/meson.build | 4 ++-- + tests/testing-util/meson.build | 4 ++-- + 4 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/peas-demo/meson.build b/peas-demo/meson.build +index a3ec53b..855ebf2 100644 +--- a/peas-demo/meson.build ++++ b/peas-demo/meson.build +@@ -9,7 +9,7 @@ peas_demo_c = [ + + peas_demo_c_args = [ + '-DHAVE_CONFIG_H', +- '-DPEAS_BUILDDIR="@0@"'.format(builddir), ++ '-DPEAS_BUILDDIR="/usr/src/debug/libpeas"', + '-DPEAS_PREFIX="@0@"'.format(prefix), + '-DPEAS_LIBDIR="@0@"'.format(libdir), + ] +diff --git a/tests/libpeas-gtk/testing/meson.build b/tests/libpeas-gtk/testing/meson.build +index 646f42d..fd9a692 100644 +--- a/tests/libpeas-gtk/testing/meson.build ++++ b/tests/libpeas-gtk/testing/meson.build +@@ -19,8 +19,8 @@ libpeas_gtk_testing_deps = [ + + libpeas_gtk_testing_c_args = [ + '-DHAVE_CONFIG_H', +- '-DBUILDDIR="@0@"'.format(builddir), +- '-DSRCDIR="@0@"'.format(srcdir), ++ '-DBUILDDIR="/usr/src/debug/libpeas"', ++ '-DSRCDIR="/usr/src/debug/libpeas"', + ] + + libpeas_gtk_testing_lib = library( +diff --git a/tests/libpeas/testing/meson.build b/tests/libpeas/testing/meson.build +index 74ba7b1..084daa9 100644 +--- a/tests/libpeas/testing/meson.build ++++ b/tests/libpeas/testing/meson.build +@@ -21,8 +21,8 @@ libpeas_testing_deps = [ + + libpeas_testing_c_args = [ + '-DHAVE_CONFIG_H', +- '-DBUILDDIR="@0@"'.format(builddir), +- '-DSRCDIR="@0@"'.format(srcdir), ++ '-DBUILDDIR="/usr/src/debug/libpeas"', ++ '-DSRCDIR="/usr/src/debug/libpeas"', + ] + + libpeas_testing_lib = library( +diff --git a/tests/testing-util/meson.build b/tests/testing-util/meson.build +index 1c40740..83ad059 100644 +--- a/tests/testing-util/meson.build ++++ b/tests/testing-util/meson.build +@@ -17,8 +17,8 @@ libtesting_util_deps = [ + + libtesting_util_c_args = [ + '-DHAVE_CONFIG_H', +- '-DBUILDDIR="@0@"'.format(builddir), +- '-DSRCDIR="@0@"'.format(srcdir), ++ '-DBUILDDIR="/usr/src/debug/libpeas"', ++ '-DSRCDIR="/usr/src/debug/libpeas"', + '-UG_DISABLE_ASSERT', + '-UG_DISABLE_CAST_CHECKS', + ] +-- +2.40.1 + diff --git a/meta-oe/recipes-gnome/libpeas/libpeas_1.22.0.bb b/meta-oe/recipes-gnome/libpeas/libpeas_1.22.0.bb deleted file mode 100644 index dd1b53e390..0000000000 --- a/meta-oe/recipes-gnome/libpeas/libpeas_1.22.0.bb +++ /dev/null @@ -1,28 +0,0 @@ -SUMMARY = "libpeas is a gobject-based plugins engine" -HOMEPAGE = "https://wiki.gnome.org/Projects/Libpeas" -LICENSE = "LGPLv2.1+" -LIC_FILES_CHKSUM = "file://COPYING;md5=4b54a1fd55a448865a0b32d41598759d" - -DEPENDS = "gnome-common gtk+3 intltool-native" - -inherit gnomebase gobject-introspection gtk-doc gtk-icon-cache distro_features_check - -# gobject-introspection is mandatory and cannot be configured -REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" -UNKNOWN_CONFIGURE_WHITELIST_append = " --enable-introspection --disable-introspection" - -SRC_URI[archive.md5sum] = "a20dc55c3f88ad06da9491cfd7de7558" -SRC_URI[archive.sha256sum] = "5b2fc0f53962b25bca131a5ec0139e6fef8e254481b6e777975f7a1d2702a962" - -PACKAGECONFIG[python3] = "--enable-python3,--disable-python3,python3-pygobject" - -export GIR_EXTRA_LIBS_PATH = "${B}/libpeas/.libs" - -PACKAGES =+ "${PN}-demo ${PN}-python3" -FILES_${PN}-demo = " \ - ${bindir}/peas-demo \ - ${libdir}/peas-demo \ -" - -RDEPENDS_${PN}-python3 = "python3-pygobject" -FILES_${PN}-python3 = "${libdir}/libpeas-1.0/loaders/libpython3loader.so" diff --git a/meta-oe/recipes-gnome/libpeas/libpeas_1.36.0.bb b/meta-oe/recipes-gnome/libpeas/libpeas_1.36.0.bb new file mode 100644 index 0000000000..016981f04d --- /dev/null +++ b/meta-oe/recipes-gnome/libpeas/libpeas_1.36.0.bb @@ -0,0 +1,28 @@ +SUMMARY = "libpeas is a gobject-based plugins engine" +HOMEPAGE = "https://wiki.gnome.org/Projects/Libpeas" +LICENSE = "LGPL-2.1-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=4b54a1fd55a448865a0b32d41598759d" + +DEPENDS = "gtk+3" + +GTKDOC_MESON_OPTION = "gtk_doc" + +inherit gnomebase gobject-introspection gi-docgen gtk-icon-cache features_check + +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" +# FIXME: When upgrading to libpeas 2, g-i is no longer needed. +REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" + +SRC_URI += "file://0001-Remove-builddir-and-srcdir-paths-from-test-binaries.patch" +SRC_URI[archive.sha256sum] = "297cb9c2cccd8e8617623d1a3e8415b4530b8e5a893e3527bbfd1edd13237b4c" + +PACKAGECONFIG[python3] = "-Dpython3=true,-Dpython3=false,python3-pygobject" + +PACKAGES =+ "${PN}-demo ${PN}-python3" +FILES:${PN}-demo = " \ + ${bindir}/peas-demo \ + ${libdir}/peas-demo \ +" + +RDEPENDS:${PN}-python3 = "python3-pygobject" +FILES:${PN}-python3 = "${libdir}/libpeas-1.0/loaders/libpython3loader.so" diff --git a/meta-oe/recipes-gnome/malcontent/malcontent-ui_0.12.0.bb b/meta-oe/recipes-gnome/malcontent/malcontent-ui_0.12.0.bb new file mode 100644 index 0000000000..13bfe78536 --- /dev/null +++ b/meta-oe/recipes-gnome/malcontent/malcontent-ui_0.12.0.bb @@ -0,0 +1,48 @@ +SUMMARY = "User-Interface for malcontent." +HOMEPAGE = "https://gitlab.freedesktop.org/pwithnall/malcontent" +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +require malcontent.inc + +DEPENDS = " \ + malcontent \ + accountsservice \ + glib-2.0 \ + glib-testing \ + dbus \ + desktop-file-utils-native \ + itstool-native \ + libpam \ + polkit \ + appstream \ + flatpak \ + libadwaita \ + gtk4 \ +" + +GIR_MESON_OPTION = "" + +GTKIC_VERSION = "4" +inherit meson pkgconfig gtk-icon-cache gobject-introspection gettext features_check + +REQUIRED_DISTRO_FEATURES = "pam polkit gobject-introspection" + +EXTRA_OEMESON = "-Dui=enabled" + +do_install() { + install -d ${D}${datadir}/gir-1.0 ${D}${libdir}/girepository-1.0 ${D}${bindir} + install -d ${D}${datadir}/polkit-1/actions ${D}${datadir}/metainfo ${D}${datadir}/applications + install -m 0644 ${B}/libmalcontent-ui/MalcontentUi-1.gir ${D}${datadir}/gir-1.0 + install -m 0644 ${B}/libmalcontent-ui/MalcontentUi-1.typelib ${D}${libdir}/girepository-1.0 + ln -sf libmalcontent-ui-1.so.1 ${D}${libdir}/libmalcontent-ui-1.so + install -m 0644 ${B}/libmalcontent-ui/libmalcontent-ui-1.so.1 ${D}${libdir} + install -m 0644 ${B}/libmalcontent-ui/libmalcontent-ui-1.so.0.12.0 ${D}${libdir} + install -m 0755 ${B}/malcontent-control/malcontent-control ${D}${bindir} + install -m 0644 ${B}/malcontent-control/org.freedesktop.MalcontentControl.policy ${D}${datadir}/polkit-1/actions + install -m 0644 ${B}/malcontent-control/org.freedesktop.MalcontentControl.appdata.xml ${D}${datadir}/metainfo + install -m 0644 ${B}/malcontent-control/org.freedesktop.MalcontentControl.desktop ${D}${datadir}/applications +} + +FILES:${PN} += "${bindir} ${libdir} ${datadir}" + diff --git a/meta-oe/recipes-gnome/malcontent/malcontent.inc b/meta-oe/recipes-gnome/malcontent/malcontent.inc new file mode 100644 index 0000000000..0446005a35 --- /dev/null +++ b/meta-oe/recipes-gnome/malcontent/malcontent.inc @@ -0,0 +1,3 @@ +SRC_URI = "git://gitlab.freedesktop.org/pwithnall/malcontent.git;protocol=https;branch=main" +S = "${WORKDIR}/git" +SRCREV = "3ba80995bb25b7aeda7e21d547f9e39ff9a81736" diff --git a/meta-oe/recipes-gnome/malcontent/malcontent_0.12.0.bb b/meta-oe/recipes-gnome/malcontent/malcontent_0.12.0.bb new file mode 100644 index 0000000000..c4bc50fa8e --- /dev/null +++ b/meta-oe/recipes-gnome/malcontent/malcontent_0.12.0.bb @@ -0,0 +1,44 @@ +SUMMARY = "malcontent implements support for restricting the type of content." +HOMEPAGE = "https://gitlab.freedesktop.org/pwithnall/malcontent" +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +require malcontent.inc + +DEPENDS = " \ + accountsservice \ + glib-2.0 \ + glib-testing \ + dbus \ + itstool-native \ + libpam \ + polkit \ +" + +GIR_MESON_OPTION = "" + +inherit meson pkgconfig gobject-introspection gettext features_check useradd + +REQUIRED_DISTRO_FEATURES = "pam polkit gobject-introspection" + +PACKAGECONFIG ?= "ui" +PACKAGECONFIG[ui] = ",,,malcontent-ui" + +EXTRA_OEMESON = "-Dui=disabled" + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM:${PN} = "--system --no-create-home --user-group --home-dir ${sysconfdir}/polkit-1 --shell /bin/nologin polkitd" + +do_install:append() { + # Fix up permissions on polkit rules.d to work with rpm4 constraints + chmod 700 ${D}/${datadir}/polkit-1/rules.d + chown polkitd:root ${D}/${datadir}/polkit-1/rules.d +} + +FILES:${PN} += " \ + ${libdir}/security/pam_malcontent.so \ + ${datadir}/accountsservice \ + ${datadir}/help \ + ${datadir}/dbus-1 \ + ${datadir}/polkit-1 \ +" diff --git a/meta-oe/recipes-gnome/pyxdg/pyxdg_0.26.bb b/meta-oe/recipes-gnome/pyxdg/pyxdg_0.28.bb index 0128a7c22e..0c9599a49c 100644 --- a/meta-oe/recipes-gnome/pyxdg/pyxdg_0.26.bb +++ b/meta-oe/recipes-gnome/pyxdg/pyxdg_0.28.bb @@ -1,12 +1,12 @@ DESCRIPTION = "A Python module to deal with freedesktop.org specifications" HOMEPAGE = "http://freedesktop.org/wiki/Software/pyxdg" SECTION = "devel/python" -LICENSE = "LGPLv2" +LICENSE = "LGPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=f30a9716ef3762e3467a2f62bf790f0a" -SRCREV = "7db14dcf4c4305c3859a2d9fcf9f5da2db328330" -SRC_URI = "git://anongit.freedesktop.org/xdg/pyxdg" +SRCREV = "1d23e483ae869ee9532aca43b133cc43f63626a3" +SRC_URI = "git://anongit.freedesktop.org/xdg/pyxdg;branch=master" -inherit distutils +inherit setuptools3 S = "${WORKDIR}/git" diff --git a/meta-oe/recipes-gnome/vte9/vte9.inc b/meta-oe/recipes-gnome/vte9/vte9.inc deleted file mode 100644 index 206c430da6..0000000000 --- a/meta-oe/recipes-gnome/vte9/vte9.inc +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "Virtual terminal emulator GTK+ widget library" -BUGTRACKER = "https://bugzilla.gnome.org/buglist.cgi?product=vte" -LICENSE = "LGPLv2.0" -DEPENDS = " glib-2.0 gtk+ intltool-native gnome-common-native ncurses" -RDEPENDS_libvte = "vte-termcap" - -# help gnomebase get the SRC_URI correct -GNOMEBN = "vte" -S = "${WORKDIR}/vte-${PV}" - -inherit gnome gtk-doc distro_features_check upstream-version-is-even gobject-introspection -ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}" - -EXTRA_OECONF = "--disable-python" - -PACKAGES =+ "libvte9 vte9-termcap" -FILES_libvte9 = "${libdir}/*.so.* ${libexecdir}/gnome-pty-helper" -FILES_vte9-termcap = "${datadir}/vte/termcap-0.0" diff --git a/meta-oe/recipes-gnome/vte9/vte9/cve-2012-2738.patch b/meta-oe/recipes-gnome/vte9/vte9/cve-2012-2738.patch deleted file mode 100644 index 9b9980397a..0000000000 --- a/meta-oe/recipes-gnome/vte9/vte9/cve-2012-2738.patch +++ /dev/null @@ -1,136 +0,0 @@ -Upstream-Status: Backport -CVE: CVE-2012-2738 -Signed-off-by: Ross Burton <ross.burton@intel.com> - -From e524b0b3bd8fad844ffa73927c199545b892cdbd Mon Sep 17 00:00:00 2001 -From: Christian Persch <chpe@gnome.org> -Date: Sat, 19 May 2012 19:36:09 +0200 -Subject: [PATCH 1/2] 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 ---- - src/table.c | 2 +- - src/vteseq.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -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 7ef4c8c..10991db 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 --- -2.4.9 (Apple Git-60) - - -From cf1ad453a8def873c49cf6d88162593402f32bb2 Mon Sep 17 00:00:00 2001 -From: Christian Persch <chpe@gnome.org> -Date: Sat, 19 May 2012 20:04:12 +0200 -Subject: [PATCH 2/2] emulation: Limit repetitions - -Don't allow malicious sequences to cause excessive repetitions. - -https://bugzilla.gnome.org/show_bug.cgi?id=676090 ---- - src/vteseq.c | 25 ++++++++++++++++++------- - 1 file changed, 18 insertions(+), 7 deletions(-) - -diff --git a/src/vteseq.c b/src/vteseq.c -index 10991db..209522f 100644 ---- a/src/vteseq.c -+++ b/src/vteseq.c -@@ -1392,7 +1392,7 @@ vte_sequence_handler_dc (VteTerminal *terminal, GValueArray *params) - static void - vte_sequence_handler_DC (VteTerminal *terminal, GValueArray *params) - { -- vte_sequence_handler_multiple(terminal, params, vte_sequence_handler_dc); -+ vte_sequence_handler_multiple_r(terminal, params, vte_sequence_handler_dc); - } - - /* Delete a line at the current cursor position. */ -@@ -1785,7 +1785,7 @@ vte_sequence_handler_reverse_index (VteTerminal *terminal, GValueArray *params) - static void - vte_sequence_handler_RI (VteTerminal *terminal, GValueArray *params) - { -- vte_sequence_handler_multiple(terminal, params, vte_sequence_handler_nd); -+ vte_sequence_handler_multiple_r(terminal, params, vte_sequence_handler_nd); - } - - /* Save cursor (position). */ -@@ -2777,8 +2777,7 @@ vte_sequence_handler_insert_lines (VteTerminal *terminal, GValueArray *params) - { - GValue *value; - VteScreen *screen; -- long param, end, row; -- int i; -+ long param, end, row, i, limit; - screen = terminal->pvt->screen; - /* The default is one. */ - param = 1; -@@ -2796,7 +2795,13 @@ vte_sequence_handler_insert_lines (VteTerminal *terminal, GValueArray *params) - } else { - end = screen->insert_delta + terminal->row_count - 1; - } -- /* Insert the new lines at the cursor. */ -+ -+ /* Only allow to insert as many lines as there are between this row -+ * and the end of the scrolling region. See bug #676090. -+ */ -+ limit = end - row + 1; -+ param = MIN (param, limit); -+ - for (i = 0; i < param; i++) { - /* Clear a line off the end of the region and add one to the - * top of the region. */ -@@ -2817,8 +2822,7 @@ vte_sequence_handler_delete_lines (VteTerminal *terminal, GValueArray *params) - { - GValue *value; - VteScreen *screen; -- long param, end, row; -- int i; -+ long param, end, row, i, limit; - - screen = terminal->pvt->screen; - /* The default is one. */ -@@ -2837,6 +2841,13 @@ vte_sequence_handler_delete_lines (VteTerminal *terminal, GValueArray *params) - } else { - end = screen->insert_delta + terminal->row_count - 1; - } -+ -+ /* Only allow to delete as many lines as there are between this row -+ * and the end of the scrolling region. See bug #676090. -+ */ -+ limit = end - row + 1; -+ param = MIN (param, limit); -+ - /* Clear them from below the current cursor. */ - for (i = 0; i < param; i++) { - /* Insert a line at the end of the region and remove one from --- -2.4.9 (Apple Git-60) - diff --git a/meta-oe/recipes-gnome/vte9/vte9/obsolete_automake_macros.patch b/meta-oe/recipes-gnome/vte9/vte9/obsolete_automake_macros.patch deleted file mode 100644 index 6763d37540..0000000000 --- a/meta-oe/recipes-gnome/vte9/vte9/obsolete_automake_macros.patch +++ /dev/null @@ -1,14 +0,0 @@ -Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=691545] - -Signed-off-by: Marko Lindqvist <cazfi74@gmail.com> -diff -Nurd vte-0.28.2/gnome-pty-helper/configure.in vte-0.28.2/gnome-pty-helper/configure.in ---- vte-0.28.2/gnome-pty-helper/configure.in 2010-07-15 20:08:44.000000000 +0300 -+++ vte-0.28.2/gnome-pty-helper/configure.in 2013-01-11 14:50:34.971027440 +0200 -@@ -8,7 +8,6 @@ - AC_ISC_POSIX - AC_PROG_CC - AC_STDC_HEADERS --AM_PROG_CC_STDC - - if test -z "$enable_maintainer_mode"; then - enable_maintainer_mode=yes diff --git a/meta-oe/recipes-gnome/vte9/vte9_0.28.2.bb b/meta-oe/recipes-gnome/vte9/vte9_0.28.2.bb deleted file mode 100644 index 72bc9ec39b..0000000000 --- a/meta-oe/recipes-gnome/vte9/vte9_0.28.2.bb +++ /dev/null @@ -1,12 +0,0 @@ -require vte9.inc - -LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7" - -SRC_URI += "file://obsolete_automake_macros.patch \ - file://cve-2012-2738.patch \ - " - -CFLAGS += "-D_GNU_SOURCE" - -SRC_URI[archive.md5sum] = "497f26e457308649e6ece32b3bb142ff" -SRC_URI[archive.sha256sum] = "86cf0b81aa023fa93ed415653d51c96767f20b2d7334c893caba71e42654b0ae" |