added my Recipes

This commit is contained in:
2024-07-11 14:16:35 +02:00
parent 38bc4f53ac
commit 09b621d929
7118 changed files with 525762 additions and 3 deletions

View File

@@ -0,0 +1,23 @@
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"
GNOMEBASEBUILDCLASS = "meson"
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"

View File

@@ -0,0 +1,20 @@
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"
GNOMEBASEBUILDCLASS = "meson"
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"

View File

@@ -0,0 +1,3 @@
#! /bin/sh
gnome-desktop-testing-runner libgcab

View File

@@ -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] = "67a5fa9be6c923fbc9197de6332f36f69a33dadc9016a2b207859246711c048f"
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"

View File

@@ -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"

View File

@@ -0,0 +1,22 @@
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"
inherit gnomebase gobject-introspection vala
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 ${WORKDIR}/iconv-detect.h ${S}
}

View File

@@ -0,0 +1,24 @@
SUMMARY = "Common macros for building GNOME applications"
HOMEPAGE = "http://www.gnome.org/"
BUGTRACKER = "https://bugzilla.gnome.org/"
LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SECTION = "x11/gnome"
inherit gnomebase allarch
SRC_URI[archive.md5sum] = "933258d9c23e218eb6eec9cc1951b053"
SRC_URI[archive.sha256sum] = "22569e370ae755e04527b76328befc4c73b62bfd4a572499fde116b8318af8cf"
EXTRA_AUTORECONF = ""
DEPENDS = ""
# Default to enable autoconf-archive to avoid conflicts
PACKAGECONFIG ??= "autoconf-archive"
PACKAGECONFIG[autoconf-archive] = "--with-autoconf-archive, --without-autoconf-archive, autoconf-archive"
FILES:${PN} += "${datadir}/aclocal"
FILES:${PN}-dev = ""
BBCLASSEXTEND = "native"

View File

@@ -0,0 +1,61 @@
dnl Do not call GNOME_DOC_DEFINES directly. It is split out from
dnl GNOME_DOC_INIT to allow gnome-doc-utils to bootstrap off itself.
AC_DEFUN([GNOME_DOC_DEFINES],
[
AC_ARG_WITH([help-dir],
AC_HELP_STRING([--with-help-dir=DIR], [path to help docs]),,
[with_help_dir='${datadir}/gnome/help'])
HELP_DIR="$with_help_dir"
AC_SUBST(HELP_DIR)
AC_ARG_WITH([omf-dir],
AC_HELP_STRING([--with-omf-dir=DIR], [path to OMF files]),,
[with_omf_dir='${datadir}/omf'])
OMF_DIR="$with_omf_dir"
AC_SUBST(OMF_DIR)
AC_ARG_WITH([help-formats],
AC_HELP_STRING([--with-help-formats=FORMATS], [list of formats]),,
[with_help_formats=''])
DOC_USER_FORMATS="$with_help_formats"
AC_SUBST(DOC_USER_FORMATS)
AC_ARG_ENABLE([scrollkeeper],
[AC_HELP_STRING([--disable-scrollkeeper],
[do not make updates to the scrollkeeper database])],,
enable_scrollkeeper=yes)
AM_CONDITIONAL([ENABLE_SK],[test "$gdu_cv_have_gdu" = "yes" -a "$enable_scrollkeeper" = "yes"])
dnl disable scrollkeeper automatically for distcheck
DISTCHECK_CONFIGURE_FLAGS="--disable-scrollkeeper $DISTCHECK_CONFIGURE_FLAGS"
AC_SUBST(DISTCHECK_CONFIGURE_FLAGS)
AM_CONDITIONAL([HAVE_GNOME_DOC_UTILS],[test "$gdu_cv_have_gdu" = "yes"])
])
# GNOME_DOC_INIT ([MINIMUM-VERSION],[ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND])
#
AC_DEFUN([GNOME_DOC_INIT],
[AC_REQUIRE([AC_PROG_LN_S])dnl
if test -z "$AM_DEFAULT_VERBOSITY"; then
AM_DEFAULT_VERBOSITY=1
fi
AC_SUBST([AM_DEFAULT_VERBOSITY])
ifelse([$1],,[gdu_cv_version_required=0.3.2],[gdu_cv_version_required=$1])
AC_MSG_CHECKING([gnome-doc-utils >= $gdu_cv_version_required])
PKG_CHECK_EXISTS([gnome-doc-utils >= $gdu_cv_version_required],
[gdu_cv_have_gdu=yes],[gdu_cv_have_gdu=no])
if test "$gdu_cv_have_gdu" = "yes"; then
AC_MSG_RESULT([yes])
ifelse([$2],,[:],[$2])
else
AC_MSG_RESULT([no])
ifelse([$3],,[:],[$3])
fi
GNOME_DOC_DEFINES
])

View File

@@ -0,0 +1,18 @@
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 = "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() {
install -d ${D}${datadir}/aclocal/
install ${WORKDIR}/gnome-doc-utils.m4 ${D}${datadir}/aclocal/
}
FILES:${PN} += "${datadir}"

View File

@@ -0,0 +1,44 @@
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"
inherit gnomebase gettext gtk-icon-cache upstream-version-is-even features_check
ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"
DEPENDS += "intltool-native gtk+"
# 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-gtk3-engine"
do_install:append() {
# Only building Adwaita, remove highcontrast files
rm -rf ${D}${prefix}/share/themes/HighContrast \
${D}${prefix}/share/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 = "${prefix}/share/themes/Adwaita \
${libdir}/gtk-2.0/2.10.0/engines/libadwaita.so"
FILES:gnome-theme-adwaita-dark = "${prefix}/share/themes/Adwaita-dark"
RDEPENDS:gnome-theme-adwaita-dark = "gnome-theme-adwaita"
# gnome-themes-standard is empty and doesn't exist
RDEPENDS:${PN}-dev = ""

View File

@@ -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
}

View File

@@ -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");

View File

@@ -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

View File

@@ -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 \

View File

@@ -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);

View File

@@ -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;

View File

@@ -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

View File

@@ -0,0 +1,34 @@
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')
}

View File

@@ -0,0 +1,23 @@
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"
GNOMEBASEBUILDCLASS = "meson"
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"

View File

@@ -0,0 +1,20 @@
SUMMARY = "C++ bindings for the GTK+ toolkit"
HOMEPAGE = "http://www.gtkmm.org/"
SECTION = "libs"
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 features_check
REQUIRED_DISTRO_FEATURES = "x11"
SRC_URI[archive.md5sum] = "6c59ae8bbff48fad9132f23af347acf1"
SRC_URI[archive.sha256sum] = "0680a53b7bf90b4e4bf444d1d89e6df41c777e0bacc96e9c09fc4dd2f5fe6b72"
EXTRA_OECONF = " --disable-documentation "
FILES:${PN}-dev += "${libdir}/*/include ${libdir}/*/proc/m4"

View File

@@ -0,0 +1,3 @@
#! /bin/sh
gnome-desktop-testing-runner libjcat

View File

@@ -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 = "f089d7ff9081bb6f211cdd712cddd159f8f63199"
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)} \
"

View File

@@ -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

View File

@@ -0,0 +1,27 @@
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"
GNOMEBASEBUILDCLASS = "meson"
GTKDOC_MESON_OPTION = "gtk_doc"
inherit gnomebase gobject-introspection gtk-doc gtk-icon-cache features_check
ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
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"

View File

@@ -0,0 +1,3 @@
#! /bin/sh
gnome-desktop-testing-runner libxmlb

View File

@@ -0,0 +1,24 @@
SUMMARY = "A library to help create and query binary XML blobs"
LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://LICENSE;md5=1803fa9c2c3ce8cb06b4861d75310742"
SRC_URI = "git://github.com/hughsie/libxmlb.git;branch=main;protocol=https \
file://run-ptest \
"
SRCREV = "a6cac6a715d57c393bbddee4d0381ad943341af9"
S = "${WORKDIR}/git"
DEPENDS = "glib-2.0 xz"
inherit gobject-introspection gtk-doc meson ptest-gnome lib_package
PACKAGECONFIG ??= "\
${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \
"
PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false"
GTKDOC_MESON_OPTION = "gtkdoc"
FILES:${PN}-bin += "${libexecdir}/*"
BBCLASSEXTEND = "native"

View File

@@ -0,0 +1,12 @@
DESCRIPTION = "A Python module to deal with freedesktop.org specifications"
HOMEPAGE = "http://freedesktop.org/wiki/Software/pyxdg"
SECTION = "devel/python"
LICENSE = "LGPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=f30a9716ef3762e3467a2f62bf790f0a"
SRCREV = "1d23e483ae869ee9532aca43b133cc43f63626a3"
SRC_URI = "git://anongit.freedesktop.org/xdg/pyxdg;branch=master"
inherit setuptools3
S = "${WORKDIR}/git"

View File

@@ -0,0 +1,18 @@
SUMMARY = "Virtual terminal emulator GTK+ widget library"
BUGTRACKER = "https://bugzilla.gnome.org/buglist.cgi?product=vte"
LICENSE = "LGPL-2.0-only"
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 gnomebase gtk-doc 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"

View File

@@ -0,0 +1,136 @@
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)

View File

@@ -0,0 +1,14 @@
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

View File

@@ -0,0 +1,12 @@
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"